如果我在下面给定的html上应用下面的样式,为什么它在body元素中的所有内容上应用样式。我假设身体不是HTML的第一个孩子,它不应该将这种风格应用到body元素内的任何东西上。css结构选择器:第一个孩子
:第一胎{颜色:蓝色;}
HTML
<html>
<head>
<title>Test Page</title>
</head>
<style>
:first-child { color: blue;}
</style>
<body>
<div>
<h1>This is a H6</h1>
<p>Carz wtf noice pour uh saiz hoi.</p>
<p>Oh winz lol wuv donutz yu. Herrow not wut carz pwety oh hornz. </p>
<p>Bere noze dum cheezeburger oh. Notise hai mikrosoft foots. Dum oh iz nuthing gravy haz nozbody finking. Funnae hai nom winz noze r. </p>
</div>
<div>
<h1>This is an H1</h1>
<p>Sheeze dum can compewters flowerz. Loike choosday noice nom samez do hornz mac n. Funnae pour hoi dided gravy samez ghoast I.</p>
<p> U pwety oh haz cat ghoast hai. Taytoes hornz hunnae hai meeeow ghoast.
</p>
<h2>This is an h2</h2>
<p>Sheeze meeeow dum uh dided cat nom hornz wuv. </p>
<p>Donutz scratchin mac n dum rong ded gravy.</p>
<p>Thx chz can hoi wtf. Evrybody yu u ded choosday evrybody hai neether. Iz hai dided sheeze bukket noice nozzing chz watzzup?. </p>
<h2>this is another h2</h2>
<p>Graet samez iz iz nozbody saiz sheeze oh carz. Jest kitteh not scratchin herrow. Nom scratchin rong saiz ya kitteh haz chz nom. </p>
<p>Graet gravy gravy mikrosoft. Dided winz cheezeburger finking samez wtf foots. Gravy wut mac n partay noice noze foots. </p>
<p>Can sink nom compewter ur ded how herrow cat. </p>
</div>
</body>
</html>
好的答案,但我会使用非继承属性'border'等作为示例,因为''标签在html中非常特殊,就像为什么颜色是蓝色的,并且它不会继承颜色在默认情况下,它提出了另一个问题。 – Stickers
奇怪的是,CSS 2.x和Selectors level 3将':first-child'定义为“:first-child伪类表示一个元素,它是*其他元素*的第一个子元素。这将排除'html'元素,因为它不是任何其他元素的子元素。只有选择器级别4的定义会包含'html'元素。 – Alohci
@Pangloss感谢您的反馈。我用'a'指出的只是为了说明继承 - 以及如果另一个元素具有显式设置的颜色或由浏览器设置(如果是'a'),它将不会继承,除非该元素也是一个“第一个孩子。”这不是关于可继承/不可继承的CSS属性,比如颜色与'border'或'background'什么的,但这也是一个很好的例子。我会补充一点。你是什么意思呢提出另一个问题? –