Home > Windows > Mozilla > Netscape 子にブロックレベル要素を含むins, del要素もインライン要素になる

子にブロックレベル要素を含むins, del要素もインライン要素になる

ins要素とdel要素は、子要素の状態によってブロックレベル要素にもインライン要素にもなりえるが、mozillaではdisplayプロパティで明示しない限りこれらの要素は常にインライン要素として扱われる。また、標準モードではdel要素の取り消し線やins要素の下線といった装飾が無効になる。

例示

<ins style="border:2px solid red;"><p>ブロック挿入</p></ins>
<p><ins style="border:2px solid blue;">インライン挿入</ins></p>

ブロック挿入

インライン挿入

前者のins要素はブロック要素として、後者のins要素はインライン要素として扱われるはずです。

スクリーンショット

Ns7.1Netscape7.1標準モード

補足

ins, del要素に対してdisplayプロパティを明示することでこの不具合を回避することができます。

<ins style="border:2px solid red; display:block;"><p>ブロック挿入</p></ins>
<p><ins style="border:2px solid blue;">インライン挿入</ins></p>

標準モードでテキスト装飾が無効になる現象は、CSS勧告に従った正しい動作です。インライン要素に指定したtext-decorataionプロパティの効果は、そのインライン要素が生成したボックスだけに及びます。インライン要素の内部にブロック要素がある場合、Mozillaはブロック要素の直前と直後でインライン要素を分断するようです。このため、ブロック要素内にdel, ins要素のテキスト装飾の効果は及びません。なお、互換モードは過去の慣習に従ってブロック要素内にもテキスト装飾を行います。

修正状況

Netscape7.1、Mozilla1.7.3の標準モードで不具合の発生を確認しました。

Home > Windows > Mozilla > Netscape 子にブロックレベル要素を含むins, del要素もインライン要素になる

Search
オススメ書籍
Feeds

Return to page top