当前位置: 首页 > news >正文

为什么有些人边框不用border属性

🧑‍💻 写在开头

点赞 + 收藏 === 学会🤣🤣🤣

1) border 会改变布局(占据空间)

border 会参与盒模型,增加元素尺寸。

例如,一个宽度 200px 的元素加上 border: 1px solid #000,实际宽度会变成:

200 + 1px(left) + 1px(right) = 202px

如果不想影响布局,就很麻烦。

使用 box-shadow: 0 0 0 1px #000不会改变大小,看起来像 border,但不占空间。


2) border 在高 DPI 设备上容易出现“模糊/不齐”

特别是 0.5px border(发丝线),在某些浏览器上有锯齿、断线。

transform: scale(0.5) 或伪元素能做更稳定的发丝线。


3) border 圆角 + 发丝线 常出现不规则效果

border + border-radius 在不同浏览器的渲染不一致,容易出现不均匀、颜色不一致的问题。

outline / box-shadow 圆角更稳定。


4) border 不适合做阴影/多层边框

如果你需要两层边框:

双层边框用 border 很难做

而用:

box-shadow: 0 0 0 1px #333, 0 0 0 2px #999;

非常简单。


5) border 和背景裁剪一起用时容易出 bug

比如 background-clipoverflow: hidden 配合 border 会出现背景被挤压、不应该被裁剪却裁剪等问题。


6) hover/active 等状态切换时会“跳动”

因为 border 会改变元素大小。

例子:

.btn { border: 0; }
.btn:hover { border: 1px solid #000; }

鼠标移上去会抖动,因为尺寸变大了。

box-shadow 的话就不会跳。


25/11/25更新,来自评论区大佬补充

除了动态外有时候 overflow 也会导致原本刚刚好的布局不会删除滚动条,由于有了 border 1px 导致刚好出现滚动条但其实根本滚不了。

总结

边框可以分别使用border、outline、box-shadow三种方式去实现,其中outline、box-shadow不会像border一样占据空间。而box-shadow可以用来解决两个元素相邻时边框变宽的问题。不使用border并不是因为它不好,而是因为outline和box-shadow的兼容性和灵活性相对border会更好一点。

如果对您有所帮助,欢迎您点个关注,我会定时更新技术文档,大家一起讨论学习,一起进步。

http://www.jsqmd.com/news/329528/

相关文章:

  • 计算机毕设Java快递仓库管理系统 基于Java的快递仓储信息化管理系统设计与实现 Java技术驱动的快递仓库智能管理平台开发
  • 苹果斥资20亿美元收购AI初创公司:准备把“耳语”变成换机杀手锏?
  • 深度测评10个降AI率工具 千笔·专业降AI率智能体高效降AIGC
  • 计算机毕设Java教研室管理系统设计与实现 基于Java技术的教研室信息管理系统开发与应用 Java环境下教研室综合管理平台的设计与实现
  • 基于peakcan/PCAN UDS上位机 (14229/15765) 可以开发UDS小工具
  • 开题卡住了?8个AI论文写作软件深度测评,本科生毕业论文必备工具推荐
  • 水库变形监测的单北斗GNSS系统应用解析
  • 亲测好用9个降AIGC网站推荐,千笔AI助你轻松降AI率
  • spaCy:Python与Cython中的高效文本处理库
  • 【小程序毕设全套源码+文档】php基于微信小程序的文山手工艺品展销平台设计与实现(丰富项目+远程调试+讲解+定制)
  • 【小程序毕设全套源码+文档】基于Android家庭医务助手APP的设计与实现(丰富项目+远程调试+讲解+定制)
  • 参考文献崩了?AI论文网站 千笔·专业学术智能体 VS 万方智搜AI,专科生写作新选择!
  • 【小程序毕设全套源码+文档】基于nodejs实验室教学日志系统小程序的设计与实现(丰富项目+远程调试+讲解+定制)
  • 【小程序毕设全套源码+文档】基于微信小程序的外卖点餐系统小程序设计与实现(丰富项目+远程调试+讲解+定制)
  • 【小程序毕设全套源码+文档】基于微信小程序的便民医疗服务设计与实现(丰富项目+远程调试+讲解+定制)
  • 【小程序毕设源码分享】基于nodejs实验室教学日志系统小程序(程序+文档+代码讲解+一条龙定制)
  • 【小程序毕设源码分享】基于springboot+小程序的便民医疗服务的设计与实现(程序+文档+代码讲解+一条龙定制)
  • 计算机毕设Java基于Java的电脑DIY微信小程序 基于Java的微信小程序开发:电脑DIY配置与管理平台 Java技术驱动的电脑DIY微信小程序设计与实现
  • 汇川H5U系列PLC程序,汇川IT7000系列触摸屏 IT7100E+H5U程序 一个界面搞定...
  • 【小程序毕设源码分享】基于springboot+小程序的外卖点餐系统小程序的设计与实现(程序+文档+代码讲解+一条龙定制)
  • 计算机毕业设计springboot勤工助学管理系统 基于Java Web的大学生勤工俭学服务系统设计与开发 高校学生助学岗位信息化管理平台的设计与实现
  • 计算机毕设java辅警模拟考试系统 Java 辅助警务人员模拟考试系统设计与实现 基于 Java 的辅警模拟考试平台开发
  • 【小程序毕设源码分享】基于php+小程序的php文山手工艺品展销平台的设计与实现(程序+文档+代码讲解+一条龙定制)
  • 2026必备!8个降AIGC网站 千笔帮你高效降AI率
  • 完整教程:JVM字节码常量池解析
  • 2026年国内好用的方形横流冷却塔定制厂家排名,冷却塔填料/方形横流冷却塔/冷却水塔,方形横流冷却塔厂家哪家好
  • 2025年度盘点:宁波优质水帘除尘器加工厂推荐,湿式打磨台/布袋除尘器/喷淋塔除尘器/湿式除尘器/干式打磨台水帘除尘器供货厂家推荐排行榜单
  • OpenClaw(原 Clawdbot)钉钉对接保姆级教程 手把手教你打造自己的 AI 助手
  • 频繁地创建和销毁对象
  • 横评后发现!本科生专属AI论文软件 —— 千笔·专业论文写作工具