探究CSS邊框特效實現(xiàn)技巧

本文為大家分享了CSS邊框特效實現(xiàn)技巧,供大家參考,具體內(nèi)容如下
一、半透明的邊框實現(xiàn)
加入我們有這樣一個需求:在一個背景圖片的區(qū)域中,定義一個帶有半透明白色邊框的白色div。這個的實現(xiàn)方法最先想到的就是可以為邊框定義透明度,代碼如下:
- div{
- background:white;
- border:20px solidhsla(0,0%,100%,.5);
- }
這里hsla為一種定義顏色的方法,它的各個參數(shù)含義如下:
H:Hue(色調)。0(或360)表示紅色,120表示綠色,240表示藍色,也可取其他數(shù)值來指定顏色。取值為:0 - 360
S:Saturation(飽和度)。取值為:0.0% - 100.0%
L:Lightness(亮度)。取值為:0.0% - 100.0%
A:Alpha透明度。取值0~1之間
在瀏覽器中運行上述的樣式設定,發(fā)現(xiàn)其實并沒有出現(xiàn)我們想要的結果。div還只是一個沒有任何邊框效果的純白色div。
這個問題出現(xiàn)的原因是:白色的div擋住了半透明的白色邊框。因為如果為一個div設定為白色,那么這個div的盒子模型整個顏色都是白色的。如果設定了半透明的白色邊框,放到這個白色的div中是顯示不出來的(被div的白色襯托的沒有辦法顯示出邊框)。
要想解決這個問題,需要用到CSS3中的新屬性——background-clip。background-clip規(guī)定了背景的繪制區(qū)域:
border-box 背景被裁剪到邊框盒
padding-box 背景被裁剪到內(nèi)邊距框
content-box 背景被裁剪到內(nèi)容框
默認情況下,background-clip的值為border-clip,也就是說整個和模型都應用定義的背景,在我們上面的例子中也就是整個div一直到邊框外圍都是白色。所以如果我們將background-clip屬性值設定為padding-box,即可將外部的邊框不填充顏色,就能顯示出設定的半透明邊框了,代碼如下:
- div{
- background:white;
- border:20pxsolid hsla(0,0%,100%,.5);
- background-clip:padding-box;
- }
這樣設定的樣式在瀏覽器中重新運行,就會出現(xiàn)預想的白色半透明邊框效果了。
二、多重邊框
有的時候為了元素的特別效果,可能需要為元素添加多重的邊框,下面介紹兩種添加多重邊框的方法。
1.box-shadow
box-shadow屬性可以為盒模型設定投影。但是其實它還有設定邊框的功能。
box-shadow可以傳遞五個參數(shù),前兩個參數(shù)表示投影的偏移量,第三個參數(shù)表示投影的模糊程度,第四個參數(shù)表示投影的擴張度,最后一個參數(shù)表示投影的顏色。然而我們平常很少用到第四個參數(shù),在這里使用第四個參數(shù),就可以讓投影進行擴張,通過設定比較合適的值,就可以模擬出邊框的效果了。
同樣,box-shadow屬性可以傳入多個陰影的列表,用“,”分割即可。因此,只要我們定義一個陰影列表,并且遞增的增加其擴張度參數(shù)的取值,就可以繪制出多重邊框的效果了。
2.outline
如果我們只需要繪制兩層邊框,使用outline也可以做到。outline是border外面的一層,和border原理一樣。通過設定outline的樣式可以為border外面再設定一層邊框。
但是需要注意的是,outline屬性設定的邊框不會隨著內(nèi)部元素邊界樣式的變化而變化。也就是說,如果元素邊框帶了圓角,那么outline繪制出的最外層邊框仍然是矩形的。這是outline繪制邊框的一個缺憾。
以上就是本文的全部內(nèi)容,希望大家能夠熟練掌握CSS邊框實現(xiàn)技巧,謝謝大家的閱讀。
相關文章
- 這篇文章主要為大家介紹了CSS3實現(xiàn)超酷的黑貓警長首頁的相關代碼,效果酷炫,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-04-26
CSS3實現(xiàn)千變?nèi)f化的文字陰影text-shadow效果設計
這篇文章主要介紹了CSS3實現(xiàn)千變?nèi)f化的文字陰影text-shadow效果設計的相關資料,感興趣的小伙伴們可以參考一下2016-04-26- 這篇文章主要以模擬漸變色條實例,針對CSS3 HSLA色彩模式進行介紹,使用HSLA色彩模式,可以設計不同的透明效果,感興趣的小伙伴們可以參考一下2016-04-26
- 這篇文章主要以設計帶有陰影邊框的表單為例,為大家介紹了CSS3 RGBA色彩模式使用方法,感興趣的小伙伴們可以參考一下2016-04-26
- 這篇文章主要為大家詳細介紹了CSS3不透明度實例,以設計燈箱廣告背景布的透明度為例,為大家介紹CSS3不透明度的調節(jié)方法,感興趣的小伙伴們可以參考一下2016-04-26
- CSS3色彩模式有哪些?這篇文章主要介紹了CSS3色彩模式是什么?告訴大家HSL色彩模式的定義、語法,感興趣的小伙伴們可以參考一下2016-04-26
- 這篇文章主要介紹了利用CSS中l(wèi)inear制作復雜的邊框效果的相關資料,利用linear-gradient屬性制作絢麗的邊框效果2016-04-26
- 這篇文章主要針對CSS定位position的常用技法進行探究,CSS中的position等屬性確實有很多需要認真考究的地方,本文就和大家一起探索一下2016-04-26
- 這篇文章主要介紹了CSS實現(xiàn)彈簧效果的旋轉加載動畫的相關資料,像是彈簧在不斷伸縮,顯示加載進度,感興趣的小伙伴們可以參考一下2016-04-25
CSS實現(xiàn)大小相同、顏色深淺不一的粒子旋轉加載動畫
這篇文章主要介紹了CSS實現(xiàn)大小相同、顏色深淺不一的粒子旋轉加載動畫的相關代碼,運用CSS3的border-radius圓角屬性、box-shadow陰影屬性等屬性制作出來的,感興趣的小伙伴2016-04-25