前端開發(fā):使用css實現(xiàn)左邊豎條的8種方法
只使用一個標(biāo)簽,可以有多少種實現(xiàn)下面的樣式呢?
假設(shè)我們的單標(biāo)簽是一個 div:
- <div></div>
定義如下通用CSS:
- div{
- position:relative;
- width:200px;
- height:60px;
- background:#ddd;
- }
法一:border
這個應(yīng)該是最最最容易想到的了
- div{
- border-left:5px solid deeppink;
- }
法二:使用偽元素
一個標(biāo)簽,算上 before 與 after 偽元素,其實算是有三個標(biāo)簽,這也是很多單標(biāo)簽作圖的基礎(chǔ),本題中,使用偽元素可以輕易完成。
- div::after{
- content:"";
- width:5px;
- height:60px;
- position:absolute;
- top:0;
- left:0;
- background:deeppink;
- }
法三:外 box-shadow
盒陰影 box-shadow 大部分人都只是用了生成陰影,其實陰影可以有多重陰影,陰影不可以不虛化,這就需要去了解一下 box-shaodw 的每一個參數(shù)具體作用。使用 box-shaodw 解題
- div{
- box-shadow:-5px 0px 0 0 deeppink;
- }
法四:內(nèi) box-shadow
盒陰影還有一個參數(shù) inset ,用于設(shè)置內(nèi)陰影,也可以完成:
- div{
- box-shadow:inset 5px 0px 0 0 deeppink;
- }
法五:drop-shadow
drop-shadow 是 CSS3 新增濾鏡 filter 中的其中一個濾鏡,也可以生成陰影,不過它的數(shù)值參數(shù)個數(shù)只有 3 個,比之 box-shadow 少一個。
- div{
- filter:drop-shadow(-5px 0 0 deeppink);
- }
法六:漸變 linearGradient
靈活使用 CSS3 的漸變可以完成大量想不到的圖形,CSS3 的漸變分為線性漸變和徑向漸變,本題使用線性漸變,可以輕易解題:
- div{
- background-image:linear-gradient(90deg, deeppink 0px, deeppink 5px, transparent 5px);
- }
法七:輪廓 outline
這個用的比較少,outline (輪廓)是繪制于元素周圍的一條線,位于邊框邊緣的外圍,可起到突出元素的作用。這個方法算是下下之選。
- div{
- height:50px;
- outline:5px solid deeppink;
- }
- div::after{
- position:absolute;
- content:"";
- top:-5px;
- bottom:-5px;
- right:-5px;
- left:0;
- background:#ddd;
- }
法八、滾動條
這個方法由小火柴的藍(lán)色理想提供,通過改變滾動條樣式實現(xiàn):
- div{
- width:205px;
- background:deeppink;
- overflow-y:scroll;
- }
- div::-webkit-scrollbar{
- width: 200px;
- background-color:#ddd;
- }
拋開實用性,僅僅是模擬出這個樣式的話,這個方法真的讓人眼前一亮。
上述就是想到的 8 種方法,不排除有沒想到的,希望有其他的方法可以在評論中提出??梢宰约簞邮謬L試嘗試。
【本文為51CTO專欄作者“謝軍”的原創(chuàng)稿件,轉(zhuǎn)載可通過作者微信公眾號(jingfeng18)獲取聯(lián)系】