Home > Windows > Internet Explorer > ver.6 clearを指定したフロートの上下に空行ができる

clearを指定したフロートの上下に空行ができる

ブロックレベル要素の子要素にclearプロパティを用いて回り込みを抑制したフロートがあるとき、ブロックレベル要素の上下に空行が発生する場合がある。

例示

<style type="text/css">
<!--
p.f {
    float: left;
    clear: left;
    width: 5em;
    margin: 0;
    border: 2px solid red;
    text-indent: 0;
}
div {
    margin: 0;
}
-->
</style>

<p class="f">フロート</p>
<div>
    <p class="f">フロート</p>
</div>
<p class="f">フロート</p>

フロート

フロート

フロート

p要素をフロートにしています。ただし、p要素やdiv要素に上下マージンはありません。

スクリーンショット

Ns7.1Netscape7.1標準モード

WinIE6.0WinIE6.0標準モード

補足

不具合が発生している要素の親要素がli要素の場合やボーダーがあるボックスである場合にこの不具合は発生しません。

<ul>
    <li>
        <p class="f">フロート</p>
        <div>
            <p class="f">フロート</p>
        </div>
        <p class="f">フロート</p>
    </li>
</ul>
  • フロート

    フロート

    フロート

不具合が発生している要素の親要素に上パディングを指定することでこの不具合を回避することができます。

<p class="f">フロート</p>
<div style="padding-top:1px;">
    <p class="f">フロート</p>
</div>
<p class="f">フロート</p>

フロート

フロート

フロート

修正状況

WinIE6.0で不具合の発生を確認しました。

Home > Windows > Internet Explorer > ver.6 clearを指定したフロートの上下に空行ができる

Search
オススメ書籍
Feeds

Return to page top