css 中多种边框的实现小窍门

2021-06-07 0 487

一、多重边框[1]

背景知识:box-shadow,outline
鉴于使用场景的多元化,多重边框的设计越来越多,以往可以借助 border-image 属性应付一下,但是这个在css 代码层面并不是很灵活。现在我们借助 box-shadow 和 outline 两个属性来分别实现多重边框。

1、box-shadow 方案

思路:利用 box-shadow 的第四个参数(扩张半径)的大小,多重投影
代码示例:

css 中多种边框的实现小窍门

多重边框–box-shadow

小结:

1、阴影并不影响布局,也不会受到box-sizing的影响
2、支持逗号分隔语法,可以创建任意数量的投影
3、缺点:只能实现实线的边框,不能实现其他样式的边框

2、outline 方案

代码示例:

css 中多种边框的实现小窍门

多重边框–outline

小结:

1、前提是实现两层边框
2、可能需要 outline-offset 的属性值
3、outline 的描边默认是矩形,当有圆角时会认为是 bug , 不能贴合圆角
4、不支持逗号语法

二、边框内圆角[2]

背景知识:box-shadow,outline
为了解决上面例子小结3中的bug,可以用box-shadow 扩张半径来填补掉 圆角与outline 之间的空隙。
代码示例:

注意点 : box-shadow 的扩展半径应该是 圆角半径的 0.5倍;严格来说应该是(√2 – 1) 倍,这里取 0.5 倍是为了更好的计算

css 中多种边框的实现小窍门

边框内圆角

三、半透明边框[3]

背景知识:rgba 或 hsla 颜色属性,background-clip
思路:让边框呈现在 被裁剪背景的 padding-box 里
代码示例:

小结:

半透明边框的实现需要借助css3的 background-clip 的属性
background-clip有三个属性:
1、border-box: 背景被裁剪到边框盒(看不到边框)
2、padding-box: 背景被裁剪到内边距框(可以看见边框)
3、content-box: 背景被裁剪到内容框(边框紧贴着内容)

css 中多种边框的实现小窍门

半透明边框效果图

四、连续的图像边框[4]

背景知识:css 渐变,基本的border-iamge,background-clip
先来看看 border-image 是如何来实现 图像边框的:
border-image 的实现原理是九宫格伸缩法:把图片切割成九块,然后把它们应用到元素边框相应的边和角。
代码示例:

css 中多种边框的实现小窍门

border-image 效果图

缺点:我们并不想让图片的某个特定部分固定在拐角处;而是希望出现在拐角处的图片区域是随着元素宽高金额边框厚度的变化而变化的。
如何解决呢?
实现思路:
1、利用 css 渐变和背景的扩展
2、在背景图片上,在叠加一层纯白的实色背景
3、为了让下层的背景透过边框区域显示出来,需要给两层背景指定不同的 background-clip 值
4、在多重背景的最底层设置背景色,需要用一道从白色过渡到白色的 css 渐变来模拟出纯白色实色背景的效果

代码示例:

css 中多种边框的实现小窍门
连续的图像边框

还可以通过渐变图案实现信封样式的边框
代码示例

还可以通过 渐变图案实现 信封样式的 边框

css 中多种边框的实现小窍门

信封边框效果图

到此这篇关于css 中多种边框的实现小窍门的文章就介绍到这了,更多相关css 边框内容请搜索以前的文章或继续浏览下面的相关文章,希望大家以后多多支持!

本知识来源于互联网索引,如有侵权请联系我们!

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在!
点赞 (0)

1、寻代码所有源码、代码、教程和软件均为作者提供和网友推荐收集整理而来!
2、寻代码提供的所有模块、软件等资源,均不提供任何技术服务,请知悉!
3、如您需要商用,请支持正版,寻代码网站所提供的程序仅供学习和研究使用!
4、寻代码源码不得使用于非法商业用途,不得违反国家法律。您必须在下载后24小时内删除!
5、寻代码资源每天实时更新,如遇压缩包解压密码,一律为:www.xundm.com
6、寻代码资源售价和VIP会员只是赞助,收取费用仅维持本站的日常运营所需!
7、如有链接无法下载、失效或广告,请在会员中心下工单!
如有侵犯您版权的,请来信(邮箱:[email protected])指出,本站将立即改正。

寻代码 CSS css 中多种边框的实现小窍门 https://xundm.com/202114399.html

常见问题
  • 当然可以,寻代码每日签到奖励1寻币,推广注册奖励5寻币,只要坚持关注和推广我们站,您可以免费下载全站资源
查看详情
  • 寻代码所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 赞助VIP介绍。
查看详情
  • 最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言或在会员中心直接提交工单 。
查看详情
  • 对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
查看详情

相关文章

寻代码站内服务

为您解决烦忧 - 24小时在线 专业服务