<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免费视频| 国产精品久久香蕉免费播放| 亚洲人成伊人成综合网久久久| 亚洲精品国产精品国自产网站| 中文字幕手机在线免费看电影| 久久不见久久见中文字幕免费| 色噜噜AV亚洲色一区二区| 亚洲人成人网毛片在线播放| 光棍天堂免费手机观看在线观看| 日韩激情无码免费毛片| 亚洲色图.com| 在线看片免费人成视频播| 国产∨亚洲V天堂无码久久久| 成年免费大片黄在线观看com| 永久免费av无码不卡在线观看| 亚洲av无码一区二区三区不卡 | 免费国产黄网站在线观看动图| 麻豆最新国产剧情AV原创免费| 亚洲国产精品VA在线看黑人 | 日本黄网站动漫视频免费| 亚洲综合在线另类色区奇米| 天黑黑影院在线观看视频高清免费| 蜜臀91精品国产免费观看| 久久狠狠爱亚洲综合影院| 日韩免费高清播放器| 亚洲图片一区二区| 国产午夜精品免费一区二区三区| 亚洲国产成人乱码精品女人久久久不卡| 亚洲综合欧美色五月俺也去| 亚洲香蕉免费有线视频| 婷婷亚洲久悠悠色悠在线播放| 中国一级全黄的免费观看| 亚洲视频一区在线观看| 午夜免费福利在线| 日韩免费高清播放器| 精品国产成人亚洲午夜福利| 亚洲精品美女久久久久99小说| 全部在线播放免费毛片| 亚洲一区二区三区电影| 99re热精品视频国产免费|