這道CSS題目竟有8種解法,最後一種解法真的太巧妙

點擊右上方紅色按鈕關注“小鄭搞碼事”,每天都能學到知識,搞懂一個問題!

關於只用一個標籤實現左邊豎條,先不考慮兼容性的問題,我們來拓展一下自己的思路。看看有哪些好玩的處理的辦法。

這道CSS題目竟有8種解法,最後一種解法真的太巧妙

目的是實現上面這個樣式。

div{

position:relative;

width:200px;

height:60px;

background:#e0e0e0;

}

第一種解法:設置border

div{

border-left:5px;solid deeppink;

}

第二種解法:使用偽元素

偽元素的用法都很熟悉了,這裡不詳細解釋了。

div::after{

content:"";

width:5px;

height:60px;

position:absolute;

top:0;

left:0;

background:deeppink;

}

第三種解法:使用外box-shadow

div{

box-shadow:-5px 0px 0 0 deeppink;

}

能想到這個方法,需要知道box-shaodw 的每一個參數具體作用,這裡可以單獨花點時間來搞懂。

第四種解法:使用內box-shadow

div{

box-shadow:inset 5px 0px 0px deepink

}

與第三種解法類似。

第五種解法:使用濾鏡drop-shadow

關於濾鏡這個屬性還不是很理解的,可以翻看我以前的文章,有詳細的介紹。

div{

filter:drop-shadow(-5px 0 0 deeppink)

}

第六種解法:使用漸變linearGradient

CSS3 的漸變分為線性漸變和徑向漸變,本題使用線性漸變,可以輕易解開這道題。

div{

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

}

第七種解法:使用輪廓outline

div{

height:50px;

outline:5px solid deeppink;

}

div{

position:absolute;

content:"";

top:-5px;

bottom:-5px;

right:-5px;

left:0;

background:#ddd;

}

第八種解法:使用滾動條

改變滾動條樣式來實現。

div{

width:205px;

background:deeppink;

overflow-y:scroll;

}

div::-webkit-scrollbar{

width: 200px;

background-color:#ddd;

}

總結一下:

仔細想想,每一個方法都是一種思路,一個知識點,特別是最後一個利用滾動條的解法,有沒有讓你覺得很新鮮呢。


分享到:


相關文章: