ちょうどHTML/CSSで遊んで、タグが囲まれていないテキストのチャンクをブラウザーがどのように処理するのか疑問に思った。以下のコードを実行すると、3つすべてのテキストチャンク(<head>
、<head>
と<body>
、<body>
の間にある)が赤い「ボディ」スタイルを取得しました。CSSでHTMLテキストノードを選択するルールは何ですか?
<body>
以外のテキスト文字列が「ボディ」ルールを選択するのはなぜですか?
HTML
<html>
<head>
<title>Test web page</title>
head text outside a tag
</head>
Text node between head and body
<body>
<h1>Header</h1>
<p>
Some paragraph text
</p>
some body text outside a tag
</body>
</html>
CSS
body {
color:red;
}
h1, p {
color:lightblue;
}
head {
color: yellow;
}
あなたのHTMLは無効で、ブラウザはそれを理解しようとしているだけなので、すべての通常のテキストは 'body'になければなりません。 – str