是HTML语义化分隔线标签,默认渲染为带阴影的浅灰色块级元素;需用CSS重置样式(如border-top和margin)控制外观,避免语义误用与显示异常。

怎么用
加分隔线?基础写法和默认行为
是 HTML 原生的水平分隔线标签,语义上表示主题或内容的分界,不是装饰性元素。浏览器默认会渲染为一条浅灰色、带阴影的细线,上下有外边距(margin),且自动换行(块级)。
- 直接写
即可生效,无需闭合(HTML5 中是自闭合标签) - 不要把它当“画线工具”滥用——比如在导航里强行塞
分隔菜单项,语义错位容易被屏幕阅读器误读 - 默认样式在不同浏览器略有差异(如 Chrome 的阴影比 Firefox 明显),所以实际项目中几乎总要重置样式
怎么用 CSS 控制
的粗细、颜色和间距?
现代做法是清除默认样式,再用 border 或 background 重新定义。关键点在于:别碰 height(它对 无效),改 border-top 或 margin。
- 最稳妥写法:
hr { border: none; border-top: 2px solid #333; margin: 1.5rem 0; } - 想加渐变或虚线?用
border-image或background更可控,例如:background: linear-gradient(90deg, #000, transparent 50%, #000); - 如果父容器用了
display: flex,可能被拉伸变形,加align-self: center;或包裹一层为什么有时
不显示?常见隐形坑不是代码没写,而是被其他样式“吃掉”了。几个高频原因:
-
color或background-color和父容器一致(比如深色背景+默认浅灰线 → 看不见) - 父元素设置了
overflow: hidden,而的默认margin被裁剪 - CSS 重置库(如 Normalize.css)可能把
border设为0,但没补回视觉样式 - 用在表格单元格(
)里时,部分老浏览器不支持 ,建议改用border-bottom替代方案:不用
怎么实现分隔效果?当需要精确控制、响应式缩放或动画时,纯 CSS 方案更灵活:
立即学习“前端免费学习笔记(深入)”;
- 空
- 空
-










