CSS碎片實(shí)現(xiàn)


看到了CSS碎片拼圖這個(gè)效果,覺得效果十分贊,打算學(xué)習(xí)一下。


在查看源代碼之前,思路是大概是運(yùn)用animation進(jìn)行各種變換,通過改變元素background-color來實(shí)現(xiàn)陰影的變化。并猜想是否可以通過svg來實(shí)現(xiàn)整個(gè)圖形的運(yùn)動(dòng)與變換。


以下均在window下搜狗瀏覽器的高速模式下操作。f12打開調(diào)試工具,首先看到console中說明CSS的dpi并不對(duì)應(yīng)這屏幕的dpi,所以使用dppx為單位。查看資料發(fā)現(xiàn)這應(yīng)該是針對(duì)移動(dòng)端的頁面的,暫時(shí)不深入研究。有關(guān)資料:dpi,分辨率。

單位‘dppx’

  頁面的主要結(jié)構(gòu)是一個(gè)容器包含30個(gè)<div class="shard-wrap">,這里出現(xiàn)了偽元素。有關(guān)資料:偽元素與偽類、偽元素用法。
偽元素
  可以注意到,每隔一段時(shí)間,這個(gè)偽元素通過新增的animation來實(shí)現(xiàn)了每一塊三角形閃爍的效果。
偽元素

shimmer

實(shí)現(xiàn)CSS碎片拼圖效果最重要的屬性是clip-path,這個(gè)屬性實(shí)現(xiàn)了圖形的裁剪效果。在效果中通過使用clip-path: polygon(x1 y1, x2 y2, x3 y3,...)來獲得所需三角形。例子如下:<pre><b><div class="triangle"></div>
.triangle{
width: 100px; height: 100px; background-color: #0AA;
clip-path: polygon(0 100%, 50% 0, 100% 100%);
-webkit-clip-path: polygon(0 100%, 50% 0, 100% 100%);
}
</b></pre>

三角形
  當(dāng)然,也可以裁剪圖片。例子如下:<pre><b><img class='beauty' src="image/card-head.jpg" alt="" />
.beauty{
width: 100px; height: 100px;
clip-path: polygon(0 100%, 50% 0, 100% 100%);
-webkit-clip-path: polygon(0 100%, 50% 0, 100% 100%);
}

</b></pre>

三角圖片
  通過多個(gè)不規(guī)則三角形就能拼接成一幅圖片了。
夏威夷烏鴉
  但是,這樣拼接成的圖片是靜態(tài)的,而clip-path還有一個(gè)隱藏屬性,當(dāng)作用于同一個(gè)元素的clip-path的坐標(biāo)結(jié)構(gòu)相同時(shí),像clip-path:polygon(x1 y1, x2 y2, x3 y3)clip-path:polygon(x4 y4, x5 y5, x6 y6),它們內(nèi)部都是3組坐標(biāo),結(jié)構(gòu)相同,此時(shí),元素的animation能產(chǎn)生連貫的效果。例子如下:<pre><b><img class='beauty' src="image/card-head.jpg" alt="" />
.beauty{
width: 200px; height: 200px;
transition: all 1s;
clip-path: polygon(0 100%, 50% 0, 100% 100%);
-webkit-clip-path: polygon(0 100%, 50% 0, 100% 100%);
}
.beauty:hover{
clip-path: polygon(0 0%, 100% 0, 50% 50%);
-webkit-clip-path: polygon(0 0%, 100% 0, 50% 50%);
}</b></pre>  本來想逆向出這種效果的實(shí)現(xiàn),結(jié)果發(fā)現(xiàn)作者已經(jīng)給出了超具體的流程,具體可參閱CSS碎片拼圖的實(shí)現(xiàn)。
  完

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 選擇qi:是表達(dá)式 標(biāo)簽選擇器 類選擇器 屬性選擇器 繼承屬性: color,font,text-align,li...
    love2013閱讀 2,431評(píng)論 0 11
  • 選擇qi:是表達(dá)式 標(biāo)簽選擇器 類選擇器 屬性選擇器 繼承屬性: color,font,text-align,li...
    wzhiq896閱讀 2,114評(píng)論 0 2
  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 14,129評(píng)論 1 92
  • 夏娃梓洛/文 最后的一個(gè)你 讓我在迷途中 有一盞明亮的燈 每當(dāng)我失去自己 最后的一個(gè)你 讓我撿回了自信 每當(dāng)我深陷...
    鮑川克閱讀 290評(píng)論 1 3
  • 一劃開天生靈顯,兩儀四象八卦中。 天機(jī)算盡宿命困,妄言命數(shù)卜禍富。
    別在說別再說閱讀 290評(píng)論 0 0

友情鏈接更多精彩內(nèi)容