按下右側的「點選預覽」按鈕可以在當前頁面預覽,點選鏈結可以全屏預覽。
請用 chrome, safari, edge 開啟**。
定義 dom,容器中包含 3 個元素,每個元素代表組成火焰的 1 個火苗:
居中顯示:
body
定義容器尺寸:
.flame
畫出火苗:
.flame
.flame span
用變數畫出多個火苗,其中 --particles 是火苗的數量:
.flame
.flame span
.flame span:nth-child(1)
.flame span:nth-child(2)
.flame span:nth-child(3)
修改混合模式,使火苗重疊的部分變亮:
.flame span
增加火焰公升騰的動畫效果:
.flame span
@keyframes rise
25%
to }
用變數設定火苗公升起的延時時間,使火苗陸續公升起:
.flame span
.flame span:nth-child(1)
.flame span:nth-child(2)
.flame span:nth-child(3)
接下來用 d3 來批量處理 dom。
引用 d3 庫:
用 d3 為 css 中的 --particles 變數賦值:
const count_of_particles = 3;
d3.select('.flame')
.style('--particles', count_of_particles);
用 d3 建立 dom 中的火苗元素:
d3.select('.flame')
.style('--particles', count_of_particles)
.selectall('span')
.data(d3.range(count_of_particles))
.enter()
用 d3 為火苗元素的 css 中的 --n 和 --rnd 變數賦值:
d3.select('.flame')
.style('--particles', count_of_particles)
.selectall('span')
.data(d3.range(count_of_particles))
.enter()
.style('--n', (d) => d + 1)
.style('--rnd', () => math.random());
刪除掉 dom 中的火苗元素,刪除掉 css 中的變數宣告。
最後,把火苗元素設定為 100 個,形成火焰效果:
const count_of_particles = 100;
大功告成! 如何用純 CSS 創作乙個方塊旋轉動畫
按下右側的 點選預覽 按鈕可以在當前頁面預覽,點選鏈結可以全屏預覽。請用 chrome,safari,edge 開啟 定義 dom,容器中包含 4 個元素 居中顯示 body畫出容器中心的方塊 loader畫出容器四周的方塊 loader,loader span loader span nth ch...
如何用純 CSS 創作乙個小球反彈的動畫
按下右側的 點選預覽 按鈕可以在當前頁面預覽,點選鏈結可以全屏預覽。請用 chrome,safari,edge 開啟 定義 dom,只有 1 個元素 居中顯示 body定義容器尺寸 box用偽元素畫出小球 box box before 定義沿 x 軸即橫向移動的動畫效果 keyframes move...
css3 3d轉換和3D動畫
rotatex 沿x軸翻轉 rotatey 沿y軸翻轉 rotatez 沿z軸翻轉 類似於rotate 在水平旋轉 transform translate3d 30px,30px,800px transform translatez 800px translatex 30px translatey ...