感謝 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 標籤中新增該類名的樣式。類選擇器在選擇器前要加乙個點 例子 ...