春節是中國人最重要的節日,春節期間的習俗也非常多,東西南北各不相同。 為瞭增添年味,過年時傢傢戶戶會置辦各種年貨和裝飾品,把傢裡營造得紅紅火火,紅燈籠,紅對聯,紅福字,以及紅色的中國結。
那麼如何用CSS來實現一個中國結呢?先看最終效果
先從網上搜一張中國結的圖片,中國結的樣式不止一種,我們選擇一種最經典的中國結的編織樣式。 圖片的質量決定瞭最後成品的質量,下面就是一張比較整潔,結構清晰的中國結圖片。供我們寫CSS時參考使用
2. 觀察細節,構思實現的可能性 有瞭圖片就可以開始寫代碼瞭嗎?當然不是。 首先回想一下現在要做的事:用CSS畫個中國結。 你真的想好瞭嗎?這是一個可以實現的目標嗎?想象一下,當你的領導給你佈置一個任務:讓手機殼根據APP的主題色而變色。你會直接開始寫代碼嗎? 你會想兩個問題:
這是一個比較極端的例子,上面兩條都無法實現。回到CSS和這張中國結的圖片。我們首先要想的是,我們應該用哪些CSS技術,來實現這個圖片。你現在回過頭仔細觀察一下上面的圖片。 經過短暫的觀察,我們發現這樣一些要點:
然後就是預想一下實現原理:
linear-gradient
或者 repeating-linear-gradient
radial-gradient
mask
遮罩來達到交叉效果clip-path
來裁剪SCSS
::before
::after
實現,減少html
代碼 3. 結構拆分,化整為零 上面是從技術角度從整體觀察,下面就是對整個圖片進行拆分,先確定其 html
結構。
html
標簽d97272a93de7f6204cb4fdd93b5a7fcf
180deg
067716c45d2cc3b7b23539f3576969bd
header
f06b05cec7663aaa4d0c3a1ea6fee10c
footer
這樣我們得到瞭 html
的結構。
<div class="chinese-knot">
<div class="grid"></div>
<div class="ring-small">
<i></i>
<i></i>
<i></i>
<i></i>
<i></i>
<i></i>
<i></i>
<i></i>
<i></i>
<i></i>
<i></i>
<i></i>
<i></i>
<i></i>
<i></i>
<i></i>
</div>
<div class="ring-big">
<i><b></b></i>
<i><b></b></i>
</div>
<div class="cross-node">
<div class="node">
<i></i>
<i></i>
<i></i>
<i></i>
</div>
<div class="node">
<i></i>
<i></i>
<i></i>
<i></i>
</div>
</div>
<div class="header">
<i></i>
<b></b>
<span></span>
</div>
<div class="footer">
<b></b>
<b></b>
<div class="tassels">
<i></i>
<i></i>
</div>
</div>
</div>
佈谷媽有一位同事,32歲備孕。但由於工作壓力大,父母那邊又催得急,她焦慮瞭幾個月都沒見好消息。後來為瞭成功受孕,她更是...
对称分量法 可以将三相电流转换成三组电流分量。 以a相为基准的对称分量法变换矩阵: mathbf{T} mathbf{T}=left( begin{arr ...