给表格加一条分割线,写下 border-bottom: 1px dashed #ccc,虚线密得像锯齿。想调长一点,翻遍 CSS 也没找到 dash 长度这个属性,dotted 是圆点,dashed 是短横,两个经常被混着用。border-style 的 dashed 只负责样式,每段虚线多长由浏览器自己决定,不同浏览器还不一样。
一条虚线边框的最短写法
css 虚线最省事的做法就是 border,一行搞定,不用图片也不用伪元素。
.line { border-bottom: 1px dashed #999; } .card { border: 1px dashed #ddd; border-radius: 8px; }卡片加圆角时,虚线在四个角会挤在一起,1px 的线在高分屏上还可能一边粗一边细。介意细节就把圆角去掉,或者改用背景渐变。
想控制虚线段长度就换渐变
.dash { height: 1px; background-image: repeating-linear-gradient(90deg, #999 0 8px, transparent 8px 16px); }8px 实线加 8px 透明,重复出来就是均匀虚线,改数字就能调段长和间隔。竖线把角度换成 180deg,宽度改成 1px、高度给足即可。
这个方法还能做虚线圆角框,不过要配合 mask,代码量一下子上去了。普通分割线没必要,border 够用。
表格和打印场景
表格用 border-collapse: collapse,再给 td 加 border-bottom: 1px dashed #ddd,线才会连成一条。不合并边框的话,每个单元格各画各的,接缝处会重影。打印时 1px 虚线容易断,改成 0.75pt 或直接实线更稳。
调试布局用 outline
查元素位置时写 outline: 1px dashed red,不占布局空间,比 border 方便。css 虚线只是视觉提示,别拿它当主要分隔结构;真要精细设计,渐变和 SVG 都比 border-style 可控。