<a href='#' style='display: block; border: 1px solid black; width: 208px; height: 210px;'>
<a href='#'>My link</a>
</a>
この html をブラウザーで開くと、ボックスの外側に黒い境界線 (別のリンク) 要素の [マイリンク] ボタンが表示されるのはなぜですか?
<a href='#' style='display: block; border: 1px solid black; width: 208px; height: 210px;'>
<a href='#'>My link</a>
</a>
この html をブラウザーで開くと、ボックスの外側に黒い境界線 (別のリンク) 要素の [マイリンク] ボタンが表示されるのはなぜですか?
HTML が無効です。要素に別の要素a
を含めることはできませんa
。ブラウザのエラー回復が実際に行われています。
コードを入力として指定すると、Chrome で生成された DOM は (HTML にシリアル化されると) 次のようになります。
<a href="#" style="display: block; border: 1px solid black; width: 208px; height: 210px;">
</a><a href="#">My link</a>
それを証明するためのテストを書く時間はありませんが、回復に使用されているロジックは次のとおりだと思います。
a
の要素は使用できませんa
最初の要素を途中で閉じて、2 番目の要素が許可されるようにするa
要素の終わりa
: 破棄しますこれを行うとうまく見えます:
<div style="display: block; border: 1px solid black; width: 208px; height: 210px;">
<a href="#">My link</a>
</div>