您现在的位置是:首页 > Javascript
当前栏目
CSS实现最简洁的四角边框
2023-04-18 14:41:17 时间
在前端有一句古话,叫能用CSS实现的就别麻烦JS,因为声明式的配置语言CSS相比于自由式的编程语言JS,更容易被编译器所优化,比如css渲染引擎会优先考虑gpu加速,因此CSS动画的性能往往高于JS动画,本文介绍在不需要html和js的配合的情况下,用纯css实现一个好看的四角边框。
用最节能的代码实现如图所示的,在大数据报表中非常常见的四角边框,有点类似Unicode中的制表符和直角括号:⌜ ⌝ ⌞ ⌟,有很多种办法来实现它,但最简洁的是利用边框图像(蒙版)+径向渐变(底图)来实现,其中径向渐变的椭圆的直径要略大于元素盒子的边长,椭圆内全透明,椭圆外则使用边框的颜色,径向渐变图在盒子中是长这样的:
通过调整椭圆的长轴和短轴来改变四角的长度,最后利用边框蒙版将不需要的部分盖住即可,注意border-image-slice和border-width设置成一样大,此外还可以利用border-image-outset来对边框进行缩放,往往需要让边框远离盒子一些更好看,比如:
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有更重要的事情要做。
相关文章
- 前端面试 【JavaScript】— typeof 是否能正确判断类型?
- 前端面试 【JavaScript】— instanceof 能否判断基本数据类型?
- 前端面试 【JavaScript】— 能不能手动实现一下 instanceof 的功能?
- 前端面试 【JavaScript】— Object.is和=== 有什么区别?
- 前端面试 【JavaScript】— JS中类型转换有哪几种?
- 前端面试 【JavaScript】— == 和 ===有什么区别?
- 前端面试 【JavaScript】— 对象转原始类型是根据什么流程运行的?
- JavaScript 的 parseInt() 函数
- javascript实现两个数字进行组合
- JS监听键盘按键
- 大前端开发中的路由管理之五:Flutter篇
- Javascript的DOM操作
- 在Vue项目中使用WebSocket技术
- 新手向:前端程序员必学基本技能——调试JS代码
- React 毁了 Web 开发!
- 「JS 逆向百例」cnki 学术翻译 AES 加密分析
- 商标注册域名后缀用什么?商标和域名有哪些区别?
- 网站建设流程是怎样的?需要看重哪些细节?
- 网站域名商标注册流程是什么?网站域名商标有什么用?
- 如何建设一个实用性强的网站 网站上线后如何运营