<p>标签与<button>标签样式疑问:同设红色!important却显示不同
代码示例
<footer> <div class="container"> <p style="color:red !important"> blabla<br /> blabla<br /> <button style="color:red !important" class="accessibilityBtn" id="opener" >blabla</button> </p> </div> </footer>
问题说明
为排除外部CSS文件干扰,特意给<p>和<button>标签都添加了color:red !important声明,但二者的红色字体显示效果明显不同,且未设置任何加粗属性。

原因分析及解决办法
- 浏览器默认样式差异:
<button>标签的浏览器默认样式里自带font-weight: bold(粗体),而<p>标签默认是font-weight: normal(常规字重)。粗体文字笔画更粗,视觉上会让红色看起来更厚重、饱和度更高,和常规字重的红色形成明显差异。 - 验证及解决:给
<button>额外添加font-weight: normal !important,就能让它的红色显示效果和<p>完全一致:<button style="color:red !important; font-weight:normal !important" class="accessibilityBtn" id="opener">blabla</button> - 补充说明:
!important仅强制覆盖color属性,但无法干预浏览器默认的字体粗细属性,这是两个独立的CSS属性,所以才会出现颜色值相同但视觉效果不同的情况。
内容的提问来源于stack exchange,提问作者user20622377
相关产品推荐
相关产品推荐

