6

3 つのフローティング div を含む div に基づいて、3 列のレイアウトを設計しています。

問題は、コンテナーの div が意図したとおりに列の高さと一致しないことです。コンテンツがまったくないかのように動作するため、3 つの列が垂直に突き出ています。

これを修正するために、overflow:hidden を試してみましたが、うまくいきましたが、私のデザインには左側に突き出た div があり、この属性は何も突き出さないため、台無しになりました。

高さの問題を解決するより良い方法はありますか? ありがとう。

4

3 に答える 3

5

<div style="clear:both;"></div>通常、すべての子の後に権利を投げることで、コンテナの高さを子の最後まで伸ばすことができます..このように。

<div id="container">
    <div class="child0"></div>
    <div class="child1"></div>
    <div class="child2"></div>

    <div style="clear:both;"></div>
</div>

それがコミュニティによってハッキングと見なされているかどうかはわかりません。でもたまに使います。また、div を使用せず、<hr>そのスタイルも適用する人を見てきました。

于 2012-09-04T13:36:49.340 に答える
1

clearfix クラスを使用してください - これは仕事をするはずです:

.clearfix:before,
.clearfix:after {
    content: " ";
    display: table;
}
.clearfix:after {
    clear: both;
}
.clearfix {
    *zoom: 1;
}

http://jsfiddle.net/YyMjJ/1/を確認してください

于 2012-09-04T13:36:22.947 に答える
0

質問を正しく理解していると仮定すると、クリア div を使用できます。

   <div id="dre">
        <div class="float" style="height:100px"></div>
        <div class="float" style="height:200px"></div>
        <div class="float" style="height:30px"></div>
        <div id="clear"></div>
    </div>

こちらをご覧ください - http://jsfiddle.net/C7FCC/

于 2012-09-04T13:37:08.640 に答える