在CSS样式开发中,下划线是很多元素的默认显示效果,尤其是超链接元素默认会带有下划线,很多时候我们需要根据页面设计需求取消这些下划线,让页面视觉效果更统一。不同的元素和不同的交互状态,取消下划线的方法也有区别,下面我们就逐一讲解具体的实现方式。

取消普通文本下划线
如果普通文本被设置了下划线样式,想要取消的话,直接使用text_decoration属性设置为none即可,这是最基础的下划线取消方式。
/* 取消类名为normal-text的元素下的下划线 */
.normal-text {
text-decoration: none;
}
这里要注意,text_decoration是控制文本装饰线的核心属性,除了下划线,还可以控制上划线、删除线等装饰效果,设置为none就会清除所有文本装饰线。
取消超链接默认下划线
超链接<a>标签在浏览器默认样式中,未访问和已访问状态都会带有下划线,我们可以通过设置<a>标签的样式来取消默认下划线。
/* 取消所有超链接的下划线 */
a {
text-decoration: none;
}
如果只想取消特定超链接的下划线,可以给对应的<a>标签添加类名,然后针对性设置样式即可。
处理超链接不同状态的下划线
超链接有默认状态、鼠标悬停状态、点击激活状态、已访问状态等多种交互状态,有时候我们可能只在某个状态保留下划线,其他状态都要取消,这时候就需要结合伪类来设置。
/* 默认状态和已访问状态取消下划线 */
a:link, a:visited {
text-decoration: none;
}
/* 鼠标悬停和点击激活时显示下划线 */
a:hover, a:active {
text-decoration: underline;
}
上面的代码实现了超链接默认没有下划线,当用户鼠标放到链接上或者点击链接时,才显示下划线的效果,是很多网站常用的交互样式。
其他场景的下划线取消
有些时候下划线可能不是通过text_decoration设置的,比如通过边框模拟的下划线,这时候就需要针对性处理。
/* 假设之前通过底部边框设置了下划线,现在取消 */
.custom-line {
border-bottom: none;
}
如果是通过背景图实现的下划线效果,那就需要把对应的背景图样式去掉,才能彻底取消下划线。
注意事项
- 设置
text_decoration: none的时候,要注意样式的优先级,如果有更高优先级的样式设置了下划线,可能会导致取消失败,这时候可以检查样式权重或者使用更具体的选择器。 - 不要误把<u>标签的下划线取消和超链接的下划线取消混淆,<u>标签的下划线同样可以通过
text_decoration: none取消。 - 如果页面中引入了第三方CSS库,可能会有全局的下划线样式设置,这时候需要确认自己的样式是否被正确覆盖。
csstext_decoration下划线取消伪类样式修改时间:2026-06-16 07:51:26