ブロック要素をインライン要素の中に入れるのは間違っていることはわかっていますが、次の場合はどうでしょうか。
次の有効なマークアップを想像してください。
<div><p>This is a paragraph</p></div>
次の CSS を追加します。
div {
display:inline;
}
これにより、インライン要素にブロック要素が含まれる状況が作成されます (div はインラインになり、p はデフォルトでブロックになります)。
ページ要素はまだ有効ですか?
HTML が有効かどうか (CSS ルールが適用される前か後か) は、いつ、どのように判断するのでしょうか?
更新: HTML5 では、リンク タグ内にブロック レベルの要素を配置することが完全に有効であることを学びました。
<a href="#">
<h1>Heading</h1>
<p>Paragraph.</p>
</a>
これは、HTML の大きなブロックをリンクにしたい場合に、実際に非常に便利です。