html怎么讓方塊自動旋轉,如何使用純CSS實現一個圓環旋轉錯覺的動畫效果(附源碼)...

5268f80b9b1e01f982625ef6fac83ca1.png

本篇文章給大家帶來的內容是關于如何使用純CSS實現一個圓環旋轉錯覺的動畫效果,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。

效果預覽

d0a512405c5359ad9bf6d6ab2c8fd9c2.gif

源代碼下載

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

代碼解讀

定義 dom,容器中包含 10 個

子元素,每個
子元素內還有一個 子元素:

定義容器尺寸:.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知識,可以去Gxl網css教程欄目去學習一下。

相關推薦:

如何使用純CSS實現太陽和地球和月亮的運轉模型動畫

如何使用純CSS實現一個足球場的俯視圖(附源碼)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/257880.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/257880.shtml
英文地址,請注明出處:http://en.pswp.cn/news/257880.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

同志亦凡人第五季/全集BQueer As Folk 5迅雷下載

同志亦凡人 第五季 Queer as Folk Season 5 (2005) 本季看點:這是一群生活在匹茲堡男人和男人,女人和女人的故事。在他們的王國里有各色人物。王國的國王Brian(葛爾?哈羅德 Gale Harold 飾),只追求性不問愛&#xff1…

2016,請不要在公司混日子!

1、無論為誰打工,要為自己學東西,客觀上為公司創造價值。 我自己當年,無論我在方正給國內企業工作,還是我在雅虎給外國人工作,我都跟別人最大的不一樣,我從來不覺得我在給他們打工,我真的可能是…

數據庫作業[定時執行任務]的創建

--每月執行的作業 exec p_createjob jobnamemm,sqlselect * from syscolumns,freqtypemonth --每周執行的作業 exec p_createjob jobnameww,sqlselect * from syscolumns,freqtypeweek --每日執行的作業 exec p_createjob jobnamea,sqlselect * from syscolumns --每日執行的作…

《算法之道》精華 經典算法部分

《算法之道》精華 經典算法部分 本書作者鄒恒明,作者另有一本書《數據結構之弦》,以及《操作系統之哲學原理》都是非常好的書這本書能夠算得上是深入淺出,文筆非常好。作者加入了非常多自己的思考本文包含經典算法部分第十章 排序與次序 插入…

學生社團網站html,學生社團活動平臺的設計與實現.docx

PAGE 67學生社團活動平臺的設計與實現摘 要本系統立足于實現社團活動申請與審批、資源申請與審批等工作,面向高校中所有的社團,建立一個使用便捷、可靠的社團活動平臺,從而更方便地進行社團活動的申請、社團資源的申請及相應審批,…

tornado 學習筆記17 HTTPServerRequest分析

代表Http請求。 所有的屬性都是字符串型。 17.1 屬性 (1) method:請求方法類型,比如”GET”、”POST” (2) uri: 請求的uri (3) path:請求路徑,作為uri的一部分。 (4) query:查詢字符串:作為uri的一部分。 (5) version&#xff1a…

Android 動畫效果及Interpolator和AnimationListener的使用

轉載http://www.itzhai.com/android-animation-used-to-achieve-control-of-animation-effects-and-use-of-interpolator-and-animationlistener.htmlandroid:interpolator可能有很多人不理解它的用法,文檔里說的也不太清楚,其實很簡單,看下面…

html怎么使圖片無法另存為,如何禁止圖片另存為?禁止網頁另存為到本地的方法...

在很多企事業單位,處于商業機密保護的需要,常常需要禁止一些文件格式的“另存為”功能,防止通過“另存為”將文件另行保存,據為己有的目的;尤其是在局域網中訪問服務器共享文件的時候,常常需要禁止將共享文…

正益工場為京西創客工場輸送雙創“軟”實力

12月30日,中關村門頭溝科技園“京西創客工場”正式揭牌,這里將成為京西“生態科創”的聚集地。正益工場作為唯一入駐的“移動互聯網”雙創生態平臺,將為雙創輸送“移動技術移動模式”等軟實力。北京市副市長隋振江、市政協、中關村管委會等領…

【動態規劃】【線段樹】 Codeforces Round #426 (Div. 1) B. The Bakery

給你一個序列,讓你劃分成K段,每段的價值是其內部權值的種類數,讓你最大化所有段的價值之和。 裸dp f(i,j)max{f(k,j-1)w(k1,i)}&#…

幾種服務器端IO模型的簡單介紹及實現(轉載)

作者:阿凡盧 出處:http://www.cnblogs.com/luxiaoxun/服務器端幾種模型: 1、阻塞式模型(blocking IO) 我們第一次接觸到的網絡編程都是從 listen()、accpet()、send()、recv() 等接口開始的。使用這些接口可以很方便的…

html細邊框表格代碼,html中表格細邊框的四種實現及其比較.doc

html中表格細邊框的四種實現及其比較?html中表格細邊框的四種實現及其比較第一種使用css!--- 華麗的分隔線。。 -- .box ?border-top-width: 1px;?border-right-width: 0px;?border-bottom-width: 0px;?border-left-width: 1px;?border-top-style: solid;?border-right-…

margin 等高布局

<div id"main"><div id"left">我是左邊的內容的啦啦啦啦。。。。<br> 我是左邊的內容的啦啦啦啦。。。。<br> 我是左邊的內容的啦啦啦啦。。。。<br> 我是左邊的內容的啦啦啦啦。。。。<br> 我是左邊的內容的啦啦啦啦…

c、c++---linux上的GetTickCount函數

http://blog.csdn.net/guang11cheng/article/details/6865992 http://wenda.so.com/q/1378766306062794

C#判斷一個類中有無指定名稱的方法

C#中可以通過反射分析元數據來解決這個問題&#xff0c;示例代碼如下&#xff1a;12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849using System;using System.Reflection;namespace Hello{class Program{static void Main(string[…

2021年高考成績查詢襄陽狀元,大膽猜測一下,2021年高考,湖北省文理狀元會花落誰家?...

隨著2021年高考的逼近&#xff0c;考生進入緊張有序的復習中&#xff0c;家長也在為孩子籌謀著哪所學校更適合&#xff0c;作為吃瓜群眾的我們&#xff0c;可能更關注今年湖北省的文理科狀元會花落誰家&#xff0c;要知道&#xff0c;一所學校如果可以出現一名高考狀元&#xf…

為什么寫Java程序需要接口

為什么寫Java程序需要接口 我之所以以這個作為標題&#xff0c;并不是為了玩噱頭&#xff0c;講一些似是而非的空話&#xff0c;還是以探索加發現&#xff0c; 追本溯源的講解一下為什么Java需要接口&#xff0c;怎么理解&#xff0c;怎么用它。 首先接口并不是Java才有的&…

《領域特定語言》一1.5使用代碼生成

1.5使用代碼生成 在迄今為止的討論中&#xff0c;要處理DSL&#xff0c;組裝“語義模型”&#xff08;第11章&#xff09;&#xff0c;然后執行語義模型&#xff0c;提供我們希望從控制器得到的行為。在語言圈子里&#xff0c;這種方式稱為解釋&#xff08;interpretation&…

SVG 基礎圖形

SVG 基礎圖形 SVG包含了以下的基礎圖形元素&#xff1a; 矩形&#xff08;包括可選的圓角&#xff09;&#xff0c;使用<rect>元素創建圓形&#xff0c;使用<circle>元素創建橢圓形&#xff0c;使用<ellipse>元素創建直線&#xff0c;使用<line>元素創…

棗莊三中高考2021成績查詢,2021棗莊中考成績查詢系統入口

2021棗莊中考成績查詢系統入口2021-05-20 19:11:35文/王佳慧2021年&#xff0c;棗莊的中考時間快到了&#xff0c;本文分享了棗莊中考成績查詢入口&#xff0c;系統開通后考生可登陸查詢成績。棗莊中考成績查詢入口志愿填報須知1.錄取標準&#xff1a;提前批、第一批、第三批學…