4 に答える
Web 標準によれば、ブロック要素をインライン要素に入れることは許可されていません。
h1
ブロック要素でa
あり、インライン要素であるため、正しい方法は次のとおりです。
<h1><a href="#">This is a title</a></h1>
詳細については、次のリンクを参照してください: w3 ビジュアル フォーマット モデル
div
ただし、HTML5 ではブロック レベルの要素 ( 、 、p
などh*
) をアンカー タグでラップすることが有効であるという例外があります。アンカー以外のインライン要素でブロック レベルの要素をラップすることは、標準に反します。
HTML5はこの主題を更新します:別の質問で述べられているように、ブロックレベルの要素をAでラップすることはOKです:https ://stackoverflow.com/a/9782054/674965そしてここ:http ://davidwalsh.name/html5-要素-リンク
私が理解している限り、HTML5ではブロックレベルの要素をリンクタグでラップすることができます。ただし、古いブラウザではバグが表示される場合があります。Firefox 3.6.18でこれに遭遇し、コードにmoz-rs-heading=""が挿入されました。したがって、私のスタイルは壊れました。回避策が必要な場合は、リンクタグをdivでラップできます。以下は、追加のコードが機能する理由のより良い説明を提供しますhttp://oli.jp/2009/html5-block-level-links/