天天看點

談談一些有趣的CSS題目(一)-- 左邊豎條的實作方法 題目1、下面這個圖形,隻使用一個标簽,可以有多少種實作方式:

開本系列,讨論一些有趣的 CSS 題目,抛開實用性而言,一些題目為了拓寬一下解決問題的思路,此外,涉及一些容易忽視的 CSS 細節。

解題不考慮相容性,題目天馬行空,想到什麼說什麼,如果解題中有你感覺到生僻的 CSS 屬性,趕緊去補習一下吧。

不斷更新,不斷更新,不斷更新,重要的事情說三遍。

談談一些有趣的CSS題目(一)-- 左邊豎條的實作方法 題目1、下面這個圖形,隻使用一個标簽,可以有多少種實作方式:

假設我們的單标簽是一個 <code>div</code>:

定義如下通用<code>CSS</code>:

這個應該是最最最容易想到的了

一個标簽,算上 <code>before</code> 與 <code>after</code> 僞元素,其實算是有三個标簽,這也是很多單标簽作圖的基礎,本題中,使用僞元素可以輕易完成。

盒陰影 <code>box-shadow</code> 大部分人都隻是用了生成陰影,其實陰影可以有多重陰影、單側陰影、陰影不可以不虛化,這就需要去了解一下 <code>box-shaodw</code> 的每一個參數具體作用。使用 <code>box-shaodw</code> 解題

盒陰影還有一個參數 <code>inset</code> ,用于設定内陰影,也可以完成:

<code>drop-shadow</code> 是 CSS3 新增濾鏡 <code>filter</code> 中的其中一個濾鏡,也可以生成陰影,不過它的數值參數個數隻有 3 個,比之 box-shadow 少一個。

靈活使用 CSS3 的漸變可以完成大量想不到的圖形,CSS3 的漸變簡單而言分為線性漸變和徑向漸變,本題使用線性漸變,可以輕易解題:

這個用的比較少,outline (輪廓)是繪制于元素周圍的一條線,位于邊框邊緣的外圍,可起到突出元素的作用。這個方法算是下下之選。

抛開實用性,僅僅是模拟出這個樣式的話,這個方法真的讓人眼前一亮。

  

上述就是想到的 8 種方法,不排除有沒想到的,希望有其他的方法可以在評論中提出,具體 8 種實作可以戳這裡看看:

<a href="https://codepen.io/Chokcoco/pen/PGkgRX">codepen-單标簽左邊豎條的實作方式</a>

到此本文結束,如果還有什麼疑問或者建議,可以多多交流,原創文章,文筆有限,才疏學淺,文中若有不正之處,萬望告知。