You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CSS选择器优先级疑问:为何body选择器未覆盖通配符选择器?

问题原因解析

你遇到的核心问题是样式继承的优先级规则,而非选择器本身的优先级:

  1. 通配符*选择器会直接匹配页面中所有元素(包括<h2>、<a>这些<body>的子元素),给这些元素直接设置了color样式;
  2. body选择器的color样式是作用在<body>标签本身的,<h2>、<a>只能通过继承获取这个颜色值。而CSS中,继承的样式优先级远低于直接作用在元素上的样式——哪怕是优先级最低的通配符选择器,只要是直接选中元素,就会覆盖继承来的样式。

你可以做个直观验证:给body选择器添加border: 1px solid red;,会发现<body>的边框正常显示,说明body选择器本身是生效的,只是它的color被子元素的直接样式(通配符设置的)覆盖了。

当你改用body h2,a选择器时,是直接选中<h2>和<a>元素,这类选择器的优先级高于通配符*,所以它们的color样式会正常生效。


内容的提问来源于stack exchange,提问作者Hamed Fathi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 00:52:06