能否在单个CSS类选择器中指定多个HTML元素?
如何用单条CSS语句修改单个类内的多个元素
你写的.main h1,p {...}是错误的——逗号会将选择器拆成两个独立部分:.main h1(仅.main容器内的h1)和p(页面全局所有p元素),这会意外修改页面上所有p标签,不符合你的需求。
正确的单条语句写法有两种:
1. 完整列出每个后代选择器
把每个元素的完整选择器用逗号分隔,确保每个选择器都包含.main前缀:
.main h1, .main p { /* 自定义样式 */ color: #333; margin-bottom: 1rem; }
这种写法兼容性拉满,所有浏览器都能正常识别。
2. 使用:is()伪类简化(推荐)
用CSS的:is()伪类包裹多个子选择器,省去重复的.main前缀,代码更简洁:
.main :is(h1, p) { /* 自定义样式 */ color: #333; margin-bottom: 1rem; }
该写法仅作用于.main容器内的h1和p元素,现代浏览器均支持(IE除外),效果和第一种完全一致。
内容的提问来源于stack exchange,提问作者cubexy
相关产品推荐
相关产品推荐

