网络日志

星号选择器*的优先级问题

先看看这样的一个dom结构

<div class="parent">
  <div class="child">
    Child Text
    <span class="text">Hello CSS</span>
  </div>
</div>

CSS这样设置

* {
  color: red;
}
.parent .child {
  color: green;
}

那么,Hello CSS,会是什么颜色呢?

会是红色。可以直接点开这个Demo查看效果。

*.parent .child都能对Hello World文字的颜色施加影响,而且.parent .child放在后面,也没有*的优先级高,所以显示了红色,而不是绿色。

星号选择器(*),表示选择所有元素(MDN链接)。在这个示例中,星号包含了对.text节点的颜色设置,其优先级,是高于从父节点.child继承过来的颜色属性的。