CSS-实现最简洁的四角边框

简介: 在前端有一句古话,叫能用CSS实现的就别麻烦JS,因为声明式的配置语言CSS相比于自由式的编程语言JS,更容易被编译器所优化,比如css渲染引擎会优先考虑gpu加速,因此CSS动画的性能往往高于JS动画,本文介绍在不需要html和js的配合的情况下,用纯css实现一个好看的四角边框。

在前端有一句古话,叫能用CSS实现的就别麻烦JS,因为声明式的配置语言CSS相比于自由式的编程语言JS,更容易被编译器所优化,比如css渲染引擎会优先考虑gpu加速,因此CSS动画的性能往往高于JS动画,本文介绍在不需要html和js的配合的情况下,用纯css实现一个好看的四角边框。

206b6df75d49429fb15b9068008afaef.png

用最节能的代码实现如图所示的,在大数据报表中非常常见的四角边框,有点类似Unicode中的制表符和直角括号:⌜ ⌝ ⌞ ⌟,有很多种办法来实现它,但最简洁的是利用边框图像(蒙版)+径向渐变(底图)来实现,其中径向渐变的椭圆的直径要略大于元素盒子的边长,椭圆内全透明,椭圆外则使用边框的颜色,径向渐变图在盒子中是长这样的:

3e6f3a212eac4d8ca93f0f604c18017a.png

通过调整椭圆的长轴和短轴来改变四角的长度,最后利用边框蒙版将不需要的部分盖住即可,注意border-image-slice和border-width设置成一样大,此外还可以利用border-image-outset来对边框进行缩放,往往需要让边框远离盒子一些更好看,比如:

3e24cebace6944eb8b064de69e74c292.png

border-image-source: radial-gradient(60% 60%, transparent 0px, transparent 100%, cyan 100%);
border-image-slice: 1;
border-width: 1px;
border-style: solid;
border-image-outset: 1cm;

只需要5行CSS就能实现,而且不需要增添额外的dom元素,性能卓越,还可以借此实现方括号:[ ] ⎵ ⎴,只要让椭圆的宽或高略小于盒子,让一边小于50%,另一边大于50%,这样相邻的2个角就能连接上,实现对边边框(请脑补逻辑上的椭圆)。所以说,能用CSS就别麻烦JS,JS有更重要的事情要做。

相关文章
|
3天前
|
前端开发
css解决li边框重合问题
css解决li边框重合问题
20 0
|
3天前
|
前端开发
css实现伪类三角形气泡框 带边框
css实现伪类三角形气泡框 带边框
33 3
|
3天前
|
前端开发
|
7月前
|
前端开发
CSS新增样式----圆角边框、盒子阴影、文字阴影
CSS新增样式----圆角边框、盒子阴影、文字阴影
|
3天前
|
前端开发
CSS边框
【5月更文挑战第4天】CSS边框。
21 2
|
3天前
|
前端开发 UED
【专栏:CSS基础篇】CSS背景与边框:设计网页外观
【4月更文挑战第30天】CSS中的背景和边框是网页设计的关键元素,能增强视觉层次和用户体验。背景可通过`background-color`设置颜色,`background-image`添加图像,`background-position`和`background-size`调整位置和大小。边框用`border-style`定义样式,`border-width`设定宽度,`border-radius`创建圆角。理解并巧妙运用这些属性,结合媒体查询实现响应式设计,将使网页更具吸引力和功能性。不断学习和创新是提升设计能力的关键。
|
3天前
|
前端开发 开发者
CSS3的常见边框汇总
CSS3的常见边框汇总
15 2
|
3天前
|
前端开发 容器
CSS3属性详解(一)文本 盒模型中的 box-ssize 属性 处理兼容性问题:私有前缀 边框 背景属性 渐变 前端开发入门笔记(七)
CSS3属性详解(一)文本 盒模型中的 box-ssize 属性 处理兼容性问题:私有前缀 边框 背景属性 渐变 前端开发入门笔记(七)
30 2
|
3天前
|
前端开发
css边框border(含代码,易懂)
css边框border(含代码,易懂)
|
3天前
css3边框与圆角
css3边框与圆角
34 0