一直以来,我只知道 :first-child
是伪类,表示选取当前元素的第一个子元素,却没注意到一个空格却能影响它的意义。
p :first-child
有空格表示 first-child
伪类描述的是 p 元素中所有的子元素,所以也可以写成 p *:first-child
。找的是 p
元素中第一个子元素,无论这个子元素是什么类型。(这里的全局选择器 *
让我们更清晰的理解要表达的含义)
p:first-child
没有空格表示描述的是 p
元素,也就是要找的这个 p
元素还要是其他元素中的第一个子元素。找的一定是 p
元素。