前端 CSS 4 CSS 實現暖暖的小火堆

2021-09-13 01:51:30 字數 2108 閱讀 6835

感謝 comehope 大佬的 [前端每日實戰]

github.io 瀏覽

常規樣式初始化

* 

body

.container

原文中星星是固定位置並且不會閃爍的

而這裡我們將會改變這一狀態, 而且為了避免重複手動給星星固定位置及大小, 所以採用了 d3 庫來減少麻煩

首先將.stars改為 grid 布局

使用 span 標籤 作為星星

因為星星要分時間閃爍所以隨機乙個--delay引數

// index.js

const columns = 15;

d3.select('.stars')

.style('--columns', columns)

.selectall('span')

.data(d3.range(columns * columns))

.enter()

.style('--delay', () => math.random() * 20);

先給出大概的範圍, 檢視下邊界

.stars 

.stars span

星星現在只是乙個個正方形, 再給正方形新增上旋轉閃現的動畫即可

.stars span 

@keyframes spin

5%,15%

17.5%

20%,

100%

}

首先是修改 dom

使火堆居中, 利用**查詢改變一下在手機端偏小的問題

.fires 

@media screen and (min-width: 451px)

}@media screen and (max-width: 450px)

}

接著完成火焰效果, 在父級新增可用的color,border-radius變數

.fires 

@media screen and (min-width: 451px)

.fires__flame:nth-of-type(1)

.fires__flame:nth-of-type(2)

.fires__flame:nth-of-type(3)

.fires__flame:nth-of-type(4)

}@media screen and (max-width: 450px)

.fires__flame:nth-of-type(1)

.fires__flame:nth-of-type(2)

.fires__flame:nth-of-type(3)

.fires__flame:nth-of-type(4)

}.fires__flame

.fires__flame:nth-of-type(2)

.fires__flame:nth-of-type(3)

.fires__flame:nth-of-type(4)

當然別忘了火焰的動畫效果

@keyframes fire 

25%

50%

75%

100%

}

再新增木柴

@media screen and (min-width: 451px) 

}@media screen and (max-width: 450px)

}.fires__stick

.fires__stick:last-of-type

最後記得把之前確認位置及大小的 border 邊框刪除即

前端學習的小筆記 CSS

一 適配多解析度的css 通過判斷當前瀏覽器尺寸載入不同的css檔案 無限定條件的css載入檔案必須放在有限定條件的載入檔案前面,不然頁面載入會先載入限定條件的css檔案。判斷解析度的css檔案需要按width或者height從大到小依次往下排,頁面載入的時候會根據順序從下往上判斷,例如 選擇條件是...

前端css常用的選擇小匯

要使用css對html頁面中的元素實現一對一,一對多或者多對一的控制,這就需要用到css選擇器。選擇器就是選擇器用來指定樣式的作用範圍。類選擇器 類選擇器在css中比較常見,首先要在普通標籤中設定乙個類,類名不可為中文,然後在 style 標籤中新增該類名的樣式。類選擇器在選擇器前要加乙個點 例子 ...

前端css常用的選擇小匯

要使用css對html頁面中的元素實現一對一,一對多或者多對一的控制,這就需要用到css選擇器。選擇器就是選擇器用來指定樣式的作用範圍。類選擇器 類選擇器在css中比較常見,首先要在普通標籤中設定乙個類,類名不可為中文,然後在 style 標籤中新增該類名的樣式。類選擇器在選擇器前要加乙個點 例子 ...