HTML/CSS中锚点链接下划线无法移除的问题排查
解决锚点链接下划线无法移除的问题
我一眼就发现问题所在了——你一直盯着text-decoration属性,但实际上这个“下划线”根本不是它造成的!
看你的CSS代码里这段规则:
p a { border-bottom: 1px solid #92d4cc; }
所有<p>标签内的链接都会被加上底部边框,这才是你看到的“下划线”来源。而你给.marxist类设置的text-decoration: none完全不对症,因为这个属性控制的是文本自带的下划线样式,和边框无关。
解决方案
把.marxist的CSS改成以下两种方式之一即可:
方式1:直接移除底部边框(带!important强制覆盖)
.marxist { color: #FFF; border-bottom: none !important; }
方式2:提高选择器优先级(更优雅,无需!important)
p a.marxist { color: #FFF; border-bottom: none; }
这个选择器的优先级比p a更高,能直接覆盖原有规则,不需要依赖!important。
修改后,你的特殊锚点链接就不会再显示底部边框,同时其他<p>内的链接样式也能正常保留。
内容的提问来源于stack exchange,提问作者Leviathan




