如果我在下面給定的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'什麼的,但這也是一個很好的例子。我會補充一點。你是什麼意思呢提出另一個問題? –