如何修改CSS规则排除a标签内的标题样式?(不可修改HTML)
解决方案
可以通过CSS的:not()伪类修改选择器,排除嵌套在<a>标签内的<h2>元素,无需修改HTML结构:
#page-container h2:not(a h2) { font-size: 20px !important; color: #0F1111 !important; font-family: Arial, sans-serif !important; }
原理说明
#page-container h2基础选择器会匹配#page-container下所有层级的<h2>元素:not(a h2)伪类会排除所有被<a>标签作为祖先元素的<h2>,不管<a>和<h2>之间是否有其他嵌套元素- 保留
!important(如果是为了覆盖原有样式),确保新样式优先级足够
验证示例
针对你提供的HTML结构:
- 直接在
#page-container或其子<div>内的<h2>会被应用样式 - 嵌套在
<a>标签内的<h2>会被排除,保持原有样式
内容的提问来源于stack exchange,提问作者Bulbasaur
相关产品推荐
相关产品推荐

