国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > CSS > 正文

單元素利用css實現(xiàn)多重邊框效果示例代碼

2024-07-11 08:41:42
字體:
供稿:網(wǎng)友

前言

最近在工作中遇到一個值得思考的問題,在CSS中,要實現(xiàn)同一種效果可能有很多種方式,就比如今天所要講的多重邊框,有人可能會想,那還不簡單?要多少邊框直接嵌套多少個帶邊框的DIV元素不就行了么!

是的,這樣確實簡單粗暴,但是也會因此產(chǎn)生很多毫無實際意義的元素。

事實上,要實現(xiàn)同樣效果,一個元素足矣!

接下來我將給大家分享單元素如何實現(xiàn)多重邊框效果~~

一、雙重邊框效果

<!--HTML--><div class="box"></div>
/*CSS*/.box{ width: 200px; height: 200px; border: 10px double #000;}

使用border-style: double就可實現(xiàn)簡單的雙重邊框效果,實現(xiàn)效果如下:


border-style: double
 

實現(xiàn)方法雖然簡單,但是缺點也是非常明顯:

     ① 無法精確控制雙重邊框的粗細及之間的間隔;

     ② 無法改變雙重邊框的樣式,比如雙重虛線邊框;

     ③ 無法實現(xiàn)更多層次的邊框效果。

二、雙重多樣化邊框效果

/*CSS*/.box{ width: 200px; height: 200px; border: 1px solid #000; outline: 1px dashed #f00; outline-offset: 10px;}

對于outline屬性,我們平時用得比較少,其代表元素的外輪廓,顯示于邊框外圍,大多數(shù)情況似乎都只是用于清除表單控件的默認(rèn)focus樣式:outline: none;

而事實上,outline可以制作出與border屬性近乎相同的效果,而且寫法上也幾乎沒有差別,但是這里還是大概講講這兩者存在的細微差別:

     ① outline不占據(jù)實際空間大小,這一點與box-shadow很像;

     ② outline不能像border一樣拆分成border-left、border-right等屬性;

     ③ outline不能設(shè)置圓角。

上面例子中還用到了outline-offset屬性,這個屬性其實是outline在CSS3中新加的屬性,該屬性不能合并簡寫在outline中,用于控制外邊框與外輪廓之間的距離。


outline屬性
 

這個實現(xiàn)方法也很簡單,而且更加靈活,但是也存在幾個缺點:

     ① outline屬性無法設(shè)置圓角(火狐下可以設(shè)置-moz-outline-radius屬性來實現(xiàn)圓角,只可惜其他瀏覽器下并無此屬性),所以圓角雙重邊框無法實現(xiàn);

     ② 同樣無法實現(xiàn)更多層次的邊框效果。

三、多重多樣化邊框效果

/*CSS*/.box{ width: 200px; height: 200px; border: 10px solid #000; border-radius: 10px; box-shadow: 0 0 0 10px #f00, 0 0 0 20px #0f0, 0 0 0 30px #00f;}

這里使用了box-shadow屬性來替代outline屬性,多重陰影效果疊加可以實現(xiàn)無數(shù)層邊框效果,與此同時也能使用圓角屬性border-radius來實現(xiàn)多重圓角邊框效果。


box-shadow屬性
 

此實現(xiàn)方式雖然看起來已經(jīng)達到了我們最初想要實現(xiàn)的效果,但是該方法存在著一個非常顯著的缺點,那就是無法像outline或border一樣設(shè)置虛線邊框,所以使用該方法是無法實現(xiàn)多重虛線邊框效果的。

兼容性: border當(dāng)然兼容性是最好的;其次是outline,可以兼容到IE8,但是outline-offset在IE下全軍覆沒;最后是box-shadow,可以兼容到IE9。

結(jié)束語

本文所介紹的方法各有各自的優(yōu)缺點,在實際運用當(dāng)中可以根據(jù)運用場景靈活選擇,當(dāng)然,除了以上所寫的三種方法之外,我們還可以結(jié)合偽元素來實現(xiàn)多重邊框,其實最終實現(xiàn)原理還是本文的這幾種方法,關(guān)于偽元素,你可以看看寫的偽元素::before與::after的用法這篇文章。

好了,以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對武林網(wǎng)的支持。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 内丘县| 疏附县| 竹山县| 科尔| 桐城市| 崇仁县| 新闻| 大宁县| 古蔺县| 普兰县| 宁陕县| 凌云县| 泸定县| 乌兰察布市| 高平市| 浮梁县| 广西| 岳阳市| 宝丰县| 宁晋县| 金溪县| 崇阳县| 柳江县| 马龙县| 天柱县| 临邑县| 大埔区| 太和县| 崇仁县| 岳阳市| 宁强县| 石阡县| 宜昌市| 天水市| 兴国县| 张家川| 铁岭市| 广宁县| 拉萨市| 崇文区| 平山县|