中文字幕第五页-中文字幕第页-中文字幕韩国-中文字幕最新-国产尤物二区三区在线观看-国产尤物福利视频一区二区

使用純CSS實現一個圓環旋轉錯覺的動畫效果-創新互聯

使用純CSS實現一個圓環旋轉錯覺的動畫效果?這個問題可能是我們日常學習或工作經常見到的。希望通過這個問題能讓你收獲頗深。下面是小編給大家帶來的參考內容,讓我們一起來看看吧!

創新互聯建站長期為千余家客戶提供的網站建設服務,團隊從業經驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯網生態環境。為吉安企業提供專業的成都網站設計、做網站,吉安網站改版等技術服務。擁有十載豐富建站經驗和眾多成功案例,為您定制開發。效果預覽

使用純CSS實現一個圓環旋轉錯覺的動畫效果

源代碼下載

https://github.com/comehope/front-end-daily-challenges

代碼解讀

定義 dom,容器中包含 10 個<div>子元素,每個<div>子元素內還有一個<span>子元素:

<figure class="container">
    <div><span></span></div>
    <div><span></span></div>
    <div><span></span></div>
    <div><span></span></div>
    <div><span></span></div>
    <div><span></span></div>
    <div><span></span></div>
    <div><span></span></div>
    <div><span></span></div>
    <div><span></span></div>
</figure>

定義容器尺寸:

.container {
    width: 17em;
    height: 17em;
    font-size: 16px;
}

定義子元素的尺寸,和容器相同:

.container {
    position: relative;
}

.container div {
    position: absolute;
    width: inherit;
    height: inherit;
}

在子元素的正中畫一個黃色的小方塊:

.container div {
    display: flex;
    align-items: center;
    justify-content: center;
}

.container span {
    position: absolute;
    width: 1em;
    height: 1em;
    background-color: yellow;
}

增加讓小方塊左右移動的動畫效果,動畫時長還會在后面用到,所以定義成變量:

.container span {
    --duration: 2s;
    animation: move var(--duration) infinite;
}

@keyframes move {
    0%, 100% {
        left: calc(10% - 0.5em);
    }

    50% {
        left: calc(90% - 0.5em);
    }
}

用貝賽爾曲線調整動畫的時間函數,使小方塊看起來就像在左右兩側跳來跳去:

.container span {
    animation: move var(--duration) cubic-bezier(0.6, -0.3, 0.7, 0) infinite;
}

增加小方塊變形的動畫,使它看起來有下蹲起跳的擬人效果:

.container span {
    animation: 
        move var(--duration) cubic-bezier(0.6, -0.3, 0.7, 0) infinite,
        morph var(--duration) ease-in-out infinite;
}

@keyframes morph {
    0%, 50%, 100% {
        transform: scale(0.75, 1);
    }

    25%, 75% {
        transform: scale(1.5, 0.5);
    }
}

至此,完成了 1 個方塊的動畫。接下來設置多個方塊的動畫效果。

為子元素定義 CSS 下標變量:

.container div:nth-child(1) { --n: 1; }
.container div:nth-child(2) { --n: 2; }
.container div:nth-child(3) { --n: 3; }
.container div:nth-child(4) { --n: 4; }
.container div:nth-child(5) { --n: 5; }
.container div:nth-child(6) { --n: 6; }
.container div:nth-child(7) { --n: 7; }
.container div:nth-child(8) { --n: 8; }
.container div:nth-child(9) { --n: 9; }

旋轉子元素,使小方塊分布均勻地在容器的四周,圍合成一個圓形:

.container p {
    transform: rotate(calc(var(--n) * 40deg));
}

設置動畫延時,現在看起來就像是一群小方塊貼著一個圓的內邊線在旋轉了(但實際上沒有任何元素在做旋轉運動,大腦感覺到的旋轉是一種錯覺):

.container span {
    animation-delay: calc(var(--duration) / 9 * var(--n) * -1);
}

最后,為小方塊上色:

.container span {
    background-color: hsl(calc(var(--n) * 80deg), 100%, 70%);
}

感謝各位的閱讀!看完上述內容,你們對使用純CSS實現一個圓環旋轉錯覺的動畫效果大概了解了嗎?希望文章內容對大家有所幫助。如果想了解更多相關文章內容,歡迎關注創新互聯網站制作公司行業資訊頻道。

本文名稱:使用純CSS實現一個圓環旋轉錯覺的動畫效果-創新互聯
文章位置:http://m.2m8n56k.cn/article46/dccpeg.html

成都網站建設公司_創新互聯,為您提供面包屑導航全網營銷推廣動態網站GoogleChatGPT網站收錄

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:[email protected]。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都網頁設計公司
主站蜘蛛池模板: 精品国产一区二区三区成人 | 狠狠se| 在线视频日韩精品 | 久香草视频在线观看 | 成人午夜久久精品 | 92午夜国产福利视频1000 | 免费v片视频在线观看视频 免费v片在线观看 | 国产精品亲子乱子伦xxxx裸 | 一级做a爰片久久毛片唾 | 国产精品区牛牛影院 | 国产成人精品久久亚洲高清不卡 | 九九免费精品视频 | 三级毛片基地 | 亚洲天堂免费在线视频 | 日韩一级片免费在线观看 | 污到下面流水的视频 | 免费看欧美毛片大片免费看 | 久久男人天堂 | 国产在线精品一区二区中文 | 中文字幕 日韩在线 | 日本欧美一区二区三区不卡视频 | 日韩精品一区二区三区乱码 | 岛国大片在线播放免费 | 日韩国产欧美精品综合二区 | 大量真实偷拍情侣视频野战 | 欧美视频久久 | 97久久免费视频 | 国产伦子伦视频免费 | 亚洲精品日韩中文字幕久久久 | 亚洲国产专区 | 日本人一级毛片视频 | 欧美大片毛片aaa免费看 | 国产色视频在线观看免费 | 香蕉久久久久久狠狠色 | 91亚洲精品一区二区在线观看 | 国产日本欧美在线观看 | 久久精品国产亚洲高清 | 久草免费在线播放 | 国产免费播放一区二区 | 免费看香港一级毛片 | se视频在线观看 |