十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
本篇文章为大家展示了CSS中怎么实现多重边框效果,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
网站建设哪家好,找成都创新互联公司!专注于网页设计、网站建设、微信开发、小程序设计、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了张北免费建站欢迎大家使用!outline
)属性方案1利用描边(outline
)属性结合border
属性实现双重边框。此方案实现简单,兼容性好,能兼容除IE6,7
以外的浏览器。
.borders { border: solid 6px #fff; outline: solid 6px #888; }
只能实现双重边框
边框样式灵活,可以实现虚线等样式的边框
描边在盒模型之外,会与外部元素发生重叠
方案2利用额外的DIV嵌套的方式实现多重边框。这也是唯一不存在兼容性问题的方案。
.outer { border: solid 6px #888; background: #fff; } .inner { background: #222; margin: 6px; }
兼容性好
可以实现多重边框,虚线边框等样式
需要额外的DIV元素,增加了代码复杂性
方案3利用伪元素(:before
)的方式实现双重边框。实现代码略复杂,属于hack的实现方式,不推荐。
.borders { border: solid 6px #fff; position: relative; } .borders:before { content: ""; position: absolute; top: -12px; left: -12px; right: -12px; bottom: -12px; border: solid 6px #888; }
IE6,7,8
不兼容
用:after
也可以
同时应用:before
和:after
可以实现三重边框
border-image
属性方案4利用CSS3
的border-image
属性实现多重边框。实现方法简单,但需要制做一个额外的边框图片,兼容性较差。
.borders { border: solid 12px transparent; border-image: url('borders.jpg') 12 12 12 12 repeat; }
本例中,利用border-image-slice
将边框图片分成如下图所示的9个区域:
其中包括四个角(1,2,3,4),四条边(5,6,7,8)以及中间区域(9)。
repeat
表示四条边都在相应的边框上重复的平铺。
box-shadow
属性方案5利用box-shadow
属性实现多重边框。方案5是最简单,最直接的实现多重边框的方式。只有一行代码就可以实现多重边框效果。利用了阴影(box-shadow
)实现边框多少有一些hack的味道。
.borders { box-shadow: 0 0 0 6px #fff, 0 0 0 12px #888; }
为了用阴影模拟边框,本例中使用了两个阴影效果,设置偏移值和模糊值为0
,并适当地设置阴影的尺寸,从而实现了双重边框的效果。因为一个阴影重叠在另一个阴影之上,第二个阴影的尺寸要设置成第一个阴影尺寸的两倍。关键部分是将模糊值设成0,从而产生像边框一样的纯色阴影,看起来和边框一样。
和描边(outline
)属性一样,box-shadow
属性可能会和周边元素发生重叠,因此要适当地设置元素的外边距。box-shadow
兼容性一般。
上述内容就是CSS中怎么实现多重边框效果,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注创新互联行业资讯频道。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。