19

CSSメニューを作っています。このために、私はを使用していulます。lifloat を左にすると、すべてliが ul の外に出ます。高さがulゼロになるということです。フロートを残した後、li内部に表示するにはどうすればよいですか。ul

1 つの方法は、div共通のクラスでタグを作成し、css で clear: both を追加することですが、これは必要ありません。

どうすればこれを解決できますか?

4

4 に答える 4

29

に追加overflow: auto;するだけ<ul>です。これにより、テキストがULの外部に漏れないようになります。

参照: http: //jsfiddle.net/6cKAG/


ただし、実行している内容によっては、を作成する方が簡単な場合があります<li> display: inline;。それはあなたが何をしているかに完全に依存します!

参照: http: //jsfiddle.net/k7Wqx/

于 2012-06-27T05:36:16.613 に答える
11

子に定義する場合はfloat、親をクリアする必要があります。overflow:hiddenあなたのULに書いてください。

ul{
 overflow:hidden;
}

またはclearfixこれにはメソッドを 使用することもできます:

ul:after{
 content:'';
 clear:both;
 display:block;
}

これを読んでください http://css-tricks.com/snippets/css/clear-fix/

于 2012-06-27T05:30:08.693 に答える
0

これは、フローティング要素(メニュー項目)が非フローティングコンテナ(ul)内に配置されている場合に発生します。

これは、コンテナをフローティングすることによって(めったに受け入れられない)修正するか、この問題に正確に対処するclearfixを適用することによって修正できます。

于 2012-06-27T05:34:26.163 に答える