CSS左邊豎條的實現方法代碼

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

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

題目1、下面這個圖形,只使用一個標籤,可以有多少種實現方式:

假設我們的單標籤是一個 p:

<p></p>

定義如下通用CSS

p{    position:relative;    width:200px;    height:60px;    background:#ddd;}

法一:border

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

p{    border-left:5px solid deeppink;}

法二:使用虛擬元素

一個標籤,算上 beforeafter 虛擬元素,其實算是有三個標籤,這也是很多單標籤作圖的基礎,本題中,使用虛擬元素可以輕易完成。

p::after{    content:"";    width:5px;    height:60px;    position:absolute;    top:0;    left:0;    background:deeppink;}

法三:外 box-shadow

盒陰影 box-shadow 大部分人都只是用了產生陰影,其實陰影可以有多重陰影,陰影不可以不虛化,這就需要去瞭解一下 box-shaodw 的每一個參數具體作用。使用 box-shaodw 解題

p{    box-shadow:-5px 0px 0 0 deeppink;}

法四:內 box-shadow

盒陰影還有一個參數 inset ,用於設定內陰影,也可以完成:

p{    box-shadow:inset 5px 0px 0 0 deeppink;}

法五:drop-shadow

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

p{    filter:drop-shadow(-5px 0 0 deeppink);}

法六:漸層 linearGradient

靈活使用 CSS3 的漸層可以完成大量想不到的圖形,CSS3 的漸層分為線性漸層和放射狀漸層,本題使用線性漸層,可以輕易解題:

p{    background-image:linear-gradient(90deg, deeppink 0px, deeppink 5px, transparent 5px);}

法七:輪廓 outline

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

p{    height:50px;    outline:5px solid deeppink;}p::after{    position:absolute;    content:"";    top:-5px;    bottom:-5px;    right:-5px;    left:0;    background:#ddd;}

法八、捲軸

這個方法由 小火柴的藍色理想 提供,通過改變捲軸樣式實現:

p{    width:205px;    background:deeppink;    overflow-y:scroll;}p::-webkit-scrollbar{    width: 200px;    background-color:#ddd;}

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

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

codepen-單標籤左邊豎條的實現方式

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.