<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答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
        當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

        CSS組合動(dòng)畫實(shí)現(xiàn)弧形軌跡_html/css

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

        CSS組合動(dòng)畫實(shí)現(xiàn)弧形軌跡_html/css

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

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

        當(dāng)然可以使用JavaScript來模擬動(dòng)畫,但其實(shí)有更簡(jiǎn)單的方式來繞過這個(gè)限制。

        先看效果:

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

        拆分之后再組合

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

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

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

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

        .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軸方向上的運(yùn)動(dòng),然后在animation中組合,然而效果是最后聲明的動(dòng)畫有效,因?yàn)閠ransform屬性不能重復(fù)定義。

        如何組合?

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

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

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

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

        .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); }}

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

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

        ps:偽元素動(dòng)畫在低端android機(jī)子上可能會(huì)失效。

        結(jié)尾

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

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

        文檔

        CSS組合動(dòng)畫實(shí)現(xiàn)弧形軌跡_html/css

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

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 处破女第一次亚洲18分钟| 亚洲黄色网址在线观看| 亚洲欧美综合精品成人导航| 99ee6热久久免费精品6| 亚洲av中文无码乱人伦在线播放| 久久国产免费直播| 亚洲av伊人久久综合密臀性色| 无码精品一区二区三区免费视频 | 在线精品亚洲一区二区三区| 又长又大又粗又硬3p免费视频| 亚洲午夜爱爱香蕉片| 久久久WWW免费人成精品| 亚洲AV无码一区二区三区DV| 99久久精品免费视频| 久久久久se色偷偷亚洲精品av | 100部毛片免费全部播放完整| 日本视频免费在线| 亚洲日本乱码一区二区在线二产线 | 国产亚洲自拍一区| 亚洲色大成网站www| 狼友av永久网站免费观看| 在线播放国产不卡免费视频| 亚洲人成人网站色www| 最近免费视频中文字幕大全| 亚洲综合色婷婷七月丁香| 黄色免费在线网站| 亚洲视频在线观看2018| 国产精品免费看久久久 | 亚洲欧洲免费无码| 在线91精品亚洲网站精品成人| 国产美女在线精品免费观看| 日韩色视频一区二区三区亚洲| 夜夜春亚洲嫩草影院| 国内精品乱码卡1卡2卡3免费| 麻豆安全免费网址入口| 亚洲精品在线观看视频| 日本一道一区二区免费看| 国产一级片免费看| 亚洲国产精品成人综合色在线| 亚洲成av人影院| 日本xxwwxxww在线视频免费|