国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

CSS組合動畫實現(xiàn)弧形軌跡_html/css

來源:懂視網(wǎng) 責編:小采 時間:2020-11-27 16:36:35
文檔

CSS組合動畫實現(xiàn)弧形軌跡_html/css

CSS組合動畫實現(xiàn)弧形軌跡_html/css_WEB-ITnose:CSS中的animations 以及 transitions都擅長實現(xiàn)從點A到點B的直線動畫。無論你如何調(diào)整貝塞爾曲線,你都無法通過animation和transitions讓元素沿著曲線運動。自定義線性方法可以產(chǎn)生彈性效果,但是X軸,Y軸上的相對運動還是相同的。 當然可以使用JavaSc
推薦度:
導(dǎo)讀CSS組合動畫實現(xiàn)弧形軌跡_html/css_WEB-ITnose:CSS中的animations 以及 transitions都擅長實現(xiàn)從點A到點B的直線動畫。無論你如何調(diào)整貝塞爾曲線,你都無法通過animation和transitions讓元素沿著曲線運動。自定義線性方法可以產(chǎn)生彈性效果,但是X軸,Y軸上的相對運動還是相同的。 當然可以使用JavaSc

CSS中的animations 以及 transitions都擅長實現(xiàn)從點A到點B的直線動畫。無論你如何調(diào)整貝塞爾曲線,你都無法通過animation和transitions讓元素沿著曲線運動。自定義線性方法可以產(chǎn)生彈性效果,但是X軸,Y軸上的相對運動還是相同的。

當然可以使用JavaScript來模擬動畫,但其實有更簡單的方式來繞過這個限制。

先看效果:

單純對一個元素使用animation或者transition的話,那么計算機會自動選擇從A點到B點之間最短的距離。那么如何實現(xiàn)我們想要的曲線效果呢?

拆分之后再組合

物理角度上分析,位移是矢量,我們把它分解成X方向和Y方向的運動。假設(shè)我們寫了這樣的動畫:

@keyframes straightLine { 50% { transform: translate3D(100px, -100px, 0); }}.dot { animation: straightLine 2.5s infinite linear;}

從(0,0)移動到(-100, -100)的位置,拆分出來就是從(0,0)到(0, -100)與(0,0)到(-100, 0)的組合。

可能你的第一反應(yīng)會跟我一樣,這樣寫:

.dot { animation: xAxis 2.5s infinite linear, yAxis 2.5s infinite linear;}@keyframes xAxis { 50% { transform: translateX(100px); }}@keyframes yAxis { 50% { transform: translateY(-100px); } }

拆分成x,y軸方向上的運動,然后在animation中組合,然而效果是最后聲明的動畫有效,因為transform屬性不能重復(fù)定義。

如何組合?

你可以試試這種方式:同一元素上沒辦法做到,那就拆分成父元素和子元素的動畫。

父元素執(zhí)行從左到右,子元素執(zhí)行從下到上的動畫。

為了讓代碼看上去更簡潔,我們使用偽元素。

接著就是解決兩個方向上的同步問題,為了讓動畫更明顯,Demo使用自定義貝塞爾曲線,你也可以使用ease-in, ease-out這類內(nèi)置的時間性方法。

.demo-dot { animation: xAxis 2.5s infinite cubic-bezier(0.02, 0.01, 0.21, 1);}.demo-dot::after { content: ''; display: block; width: 20px; height: 20px; border-radius: 20px; background-color: #fff; animation: yAxis 2.5s infinite cubic-bezier(0.3, 0.27, 0.07, 1.64);}@-webkit-keyframes yAxis { 50% { animation-timing-function: cubic-bezier(0.02, 0.01, 0.21, 1); transform: translateY(-100px); }}@keyframes yAxis { 50% { animation-timing-function: cubic-bezier(0.02, 0.01, 0.21, 1); transform: translateY(-100px); }}@-webkit-keyframes xAxis { 50% { animation-timing-function: cubic-bezier(0.3, 0.27, 0.07, 1.64); transform: translateX(100px); }}@keyframes xAxis { 50% { animation-timing-function: cubic-bezier(0.3, 0.27, 0.07, 1.64); transform: translateX(100px); }}

一波操作之后,你就能實現(xiàn)讓設(shè)計師贊不絕口的動畫。

這里使用都是keyframe的動畫,你也可以使用transitions,通過left,bottom等屬性來實現(xiàn),但是注意這種方式會每次都觸發(fā)redraw,你可以看這篇文章。 前端性能優(yōu)化之更平滑的動畫

ps:偽元素動畫在低端android機子上可能會失效。

結(jié)尾

這篇文章 涂鴉碼龍 已經(jīng)翻譯過,翻譯得非常不錯。重新整理一遍,一來是效果確實很不錯,二則是為了加深理解,做了些自己的筆記,作為學(xué)習(xí)查閱之用。

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

CSS組合動畫實現(xiàn)弧形軌跡_html/css

CSS組合動畫實現(xiàn)弧形軌跡_html/css_WEB-ITnose:CSS中的animations 以及 transitions都擅長實現(xiàn)從點A到點B的直線動畫。無論你如何調(diào)整貝塞爾曲線,你都無法通過animation和transitions讓元素沿著曲線運動。自定義線性方法可以產(chǎn)生彈性效果,但是X軸,Y軸上的相對運動還是相同的。 當然可以使用JavaSc
推薦度:
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 亚洲图片国产日韩欧美 | 亚洲国产成人精品久久 | 欧美视频二区 | 欧美一区二区三区视频 | 国产丝袜美女一区二区三区 | 亚洲国产精品日韩高清秒播 | 日韩欧美国产一区二区三区 | 欧美午夜视频在线 | 亚洲午夜久久久久久久久电影网 | 精品一区二区三区四区五区 | 国产成人成人一区二区 | 成人精品第一区二区三区 | 亚洲欧美日韩在线 | 久久精品成人国产午夜 | 涩五月婷婷| 国产成人综合久久精品红 | 亚洲欧美日韩网站 | 91久久综合九色综合欧美98 | 日韩在线免费 | 国产日产精品_国产精品毛片 | 色在线播放 | 一区二区三区电影 | 四虎国产精品免费久久久 | 91精品久久久久 | 亚洲欧美视屏 | 自拍 欧美 在线 综合 另类 | 成人欧美一区二区三区视频 | 成人一a毛片免费视频 | 国产一区二区三区在线 | 久久久久九九 | 国产在线高清不卡免费播放 | 国产精品美女一区二区 | 国产一区亚洲二区 | 亚洲一区二区三区成人 | 日韩一区三区 | 国产精彩视频在线观看 | 国产日韩欧美精品在线 | 国产精品第一区在线观看 | 亚洲国产日韩欧美在线as乱码 | 免费h视频在线观看 | 国产精品福利久久久久久小说 |