基礎 CSS實現多重邊框的5種方式

2021-09-11 15:31:58 字數 1504 閱讀 6170

目前最優雅地實現多重邊框的方案是利用css3box-shadow屬性,但如果要相容老的瀏覽器,則需要選擇其它的方案。本文簡要地列舉了幾種多重邊框的實現方案,大家可以根據專案實際及相容性要求等情況,選擇最適合的實現方案。

方案1利用描邊(outline)屬性結合border屬性實現雙重邊框。此方案實現簡單,相容性好,能相容除ie6,7以外的瀏覽器。

.borders 

複製**

演示程式

方案2利用額外的div巢狀的方式實現多重邊框。這也是唯一不存在相容性問題的方案。

.outer 

.inner

複製**

演示程式

方案3利用偽元素(:before)的方式實現雙重邊框。實現**略複雜,屬於hack的實現方式,不推薦。

.borders 

.borders

:before

複製**

演示程式

方案4利用css3border-image屬性實現多重邊框。實現方法簡單,但需要製做乙個額外的邊框,相容性較差。

.borders 

複製**

演示程式

其中包括四個角(1,2,3,4),四條邊(5,6,7,8)以及中間區域(9)。repeat表示四條邊都在相應的邊框上重複的平鋪。

方案5利用box-shadow屬性實現多重邊框。方案5是最簡單,最直接的實現多重邊框的方式。只有一行**就可以實現多重邊框效果。利用了陰影(box-shadow)實現邊框多少有一些hack的味道。

.borders 

複製**

演示程式

為了用陰影模擬邊框,本例中使用了兩個陰影效果,設定偏移值和模糊值為0,並適當地設定陰影的尺寸,從而實現了雙重邊框的效果。因為乙個陰影重疊在另乙個陰影之上,第二個陰影的尺寸要設定成第乙個陰影尺寸的兩倍。關鍵部分是將模糊值設成0,從而產生像邊框一樣的純色陰影,看起來和邊框一樣。

和描邊(outline)屬性一樣,box-shadow屬性可能會和周邊元素發生重疊,因此要適當地設定元素的外邊距。box-shadow相容性一般。

mdn border-image

mdn box-shadow

multiple borders with css

css-tricks multiple borders

文中所述部分文字及**彙編於網路。因時間不足,能力有限等原因,存在文字闡述不准及**測試不足等諸多問題。

基礎 CSS實現多重邊框的5種方式

目前最優雅地實現多重邊框的方案是利用css3的box shadow屬性,但如果要相容老的瀏覽器,則需要選擇其它的方案。本文簡要地列舉了幾種多重邊框的實現方案,大家可以根據專案實際及相容性要求等情況,選擇最適合的實現方案。方案1利用描邊 outline 屬性結合border屬性實現雙重邊框。此方案實現...

基礎 CSS實現多重邊框的5種方式

原文 基礎 css實現多重邊框的5種方式 目前最優雅地實現多重邊框的方案是利用css3的box shadow屬性,但如果要相容老的瀏覽器,則需要選擇其它的方案。本文簡要地列舉了幾種多重邊框的實現方案,大家可以根據專案實際及相容性要求等情況,選擇最適合的實現方案。方案1利用描邊 outline 屬性結...

基礎 CSS實現多重邊框的5種方式

目前最優雅地實現多重邊框的方案是利用css3的box shadow屬性,但如果要相容老的瀏覽器,則需要選擇其它的方案。本文簡要地列舉了幾種多重邊框的實現方案,大家可以根據專案實際及相容性要求等情況,選擇最適合的實現方案。方案1利用描邊 outline 屬性結合border屬性實現雙重邊框。此方案實現...