用CSS画一条0.5px的线

打印 上一主题 下一主题

主题 1027|帖子 1027|积分 3081

上次口试前端被问到了这个问题,感觉有点懵懵的,我就答复了一个scaleY(0.5),这个是真的没想到,希望有需要的朋侪可以去看看。随便记着一种就行。
1.第一种方式:通过缩放1px的线条实现视觉上的0.5px效果,兼容性较好。

  1. .thin-line {
  2.   position: relative;
  3. }
  4. .thin-line::after {
  5.   content: '';
  6.   position: absolute;
  7.   left: 0;
  8.   right: 0;
  9.   bottom: 0;
  10.   height: 1px; /* 初始高度1px */
  11.   background: #000;
  12.   transform: scaleY(0.5); /* 垂直缩放至0.5倍 */
  13.   transform-origin: 0 0; /* 确保缩放基点正确 */
  14. }
复制代码
2.第二种方式:直接使用0.5px边框(现代浏览器)

  1. .thin-border {
  2.   border-bottom: 0.5px solid #000;
  3. }
复制代码
3.第三种方式:使用transform缩放(推荐) 结合媒体查询(适配高分辨率屏幕)

  1. .thin-line::after {
  2.   content: '';
  3.   /* ...同方法1... */
  4. }
  5. /* 高分辨率设备直接使用0.5px */
  6. @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
  7.   .thin-line::after {
  8.     border-bottom: 0.5px solid #000;
  9.     transform: none; /* 禁用缩放 */
  10.   }
  11. }
复制代码
4.第四种方式:线性渐变:创建极细渐变模拟线条,适合简单场景。

  1. .thin-gradient {
  2.   background: linear-gradient(to bottom, #000 50%, transparent 50%);
  3.   height: 1px;
  4.   transform: scaleY(0.5);
  5. }
复制代码
5.第五种方式:​box-shadow:利用微小阴影模拟线条。

  1. .thin-shadow {
  2.   box-shadow: 0 0.5px 0 #000;
  3. }
复制代码


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

汕尾海湾

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表