1

この jsfiddle の例は、私が話していることを示しています。問題の div に赤い境界線を付けて、表示方法を示しています。

#searchwrapper_3 div が #col_st_cautare の中に入ることを期待していますが、何らかの理由でそれが機能していません。私はしばらくそれを見つめてきましたが、なぜそのように表示されているのか分かりませんでした

#searchwrapper div hereの後に別の要素を追加したという理由だけで、問題ないように見える例もあります。

問題は修正されました。フローティング要素のみが含まれている場合、div が折りたたまれます。

4

3 に答える 3

1

あなたはする必要があります- http://jsfiddle.net/wzYry/3/clear:both;の終わりを見てください

<div style="border: 1px solid red;" id="col_st_cautare">
    <div style="float: left;" id="searchwrapper_3">

        .... code ....

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

clr余談ですが、スタイルでクラスを作成する方が簡単かもしれません。

.clr{clear:both;}

これにより、クリアする必要があるときはいつでもこれを使用できます

<div class='clr'></div>
于 2012-04-06T09:06:57.643 に答える
1

これは、内部の子要素がフローティングされ、親がそれらをラップする方法を見失ったために発生しています。

おそらくこれに対する最も簡単な修正

#col_st_cautare { overflow: hidden; }

デモ

これ以外の安定した解決策は<div style="clear:both;"></div>、要素を閉じる前に追加することです。

于 2012-04-06T09:07:22.253 に答える