clearを設定した要素の子要素では同じ方向のfloatが効かない

症状

仕様上は継承しないと規定されているclearプロパティの指定値が、子孫要素に継承されてしまう。

clearプロパティの値をleftに設定した要素の子要素は左フロートにすることができない。同様にclearプロパティの値をrightに設定した要素の子要素は右フロートにすることができない。

例示

<div style="clear:left;">
<div style="float:left; width:20%; background:lime;">A</div>
<div style="margin-left:25%; background:aqua;">B</div>
</div>
A
B

段組みのサンプルです。'A' のdiv要素の横に 'B' のdiv要素が配置されます。

スクリーンショット

WinIE6.0WinIE6.0標準モード

補足

clearプロパティを指定した要素の孫要素や孫の子孫要素でこの不具合は発生しません。

修正状況

MacIE5.0〜5.2でこの不具合が発生するそうです。

スポンサーリンク

関連記事

スポンサーリンク

<EM> 強調する

ホームページ製作・web系アプリ系の製作案件募集中です。

上に戻る