CSS正文:第一个子项



有人能向我解释为什么这不起作用吗?

<html>
 <head>
  <style>
   body:first-child
   {
      color:#f00;
   }
  </style>
 </head>
 <body>
  <div>I should be red.</div>
  <div>This is not red.</div>
 </body>
</html>

根据我所读到的内容,第一个子选择器应该从body标记中选择第一个div对象。如果它没有选择div元素,那么它选择的是什么?

body:first-child中的:first-child伪类对body标记进行操作,因此它是将要选择的父级的第一个子级的body标记,如果您希望body的第一个子项使用子级选择器

body > :first-child{
    color:#f00;
}

这将给你身体的第一个孩子。

要针对第一个div,需要执行body div:first-child。现在(我想)你只是在选择第一个孩子的身体。(事实上,我不完全确定你现在选择的是什么,仔细想想。我认为first-child选择器不能直接挂在body标签上。)

body div:first-child {
    color:#f00;
}​

这个CSS会按照你的期望给它上色。将其读取为"body的第一个子div"。

您的CSS表示,选择任何BODY元素,该元素是其父元素(即HTML元素)的第一个子元素。BUt HEAD是第一个孩子,而不是BODY。

至少我认为这是正确的:-)

要瞄准body的第一个div,可以使用

body div:first-of-type {
   /* style */
}

最新更新