-1

<ul>いくつかの floatが<li>入った があります。overflow:auto;フロートをクリアし<ul>、子のサイズに一致させるために標準のCSSを実行しました。これは Webkit ブラウザーではうまく機能しますが、Firefox では垂直スクロールバーが生成されます。を使用して問題を解決しましたが、要素でこの動作が発生するoverflow: hidden;理由を誰かが知っているかどうか知りたいです。誰でも知っていますか?overflow:auto;<ul>

4

2 に答える 2

0

子供のサイズに合わせたとおっしゃいましたが、これは高さ/幅を設定したことを意味します<ul>。適切な高さがない場合は、垂直スクロールバーが表示されることがあります。この動作は、ブラウザによる異なるマージン、パディング、デフォルトなどの解釈によって異なる場合があります。

于 2012-08-06T19:39:20.243 に答える
0

オーバーフローはありません:なし。デフォルトは「表示」です。これは、オーバーフローで必要なフロート封じ込めを元に戻します:自動。

オーバーフローを設定している場合は、ulに高さを設定しないでください。オーバーフローのある要素に高さを設定すると、実際には、子が切断されるか(オーバーフロー:非表示)、スクロールバーを強制する(自動)ように求められます。親に寸法を設定しないということは、「自動」がそもそもスクロールバーを作成する理由がないことを意味します。

コードが表示されない場合、ブラウザ間の違いはフォントのレンダリングだけである可能性があります。おそらく、Firefoxは、li内のテキストをほんの少しだけ大きく表示します。李を大きくする。固定高さのコンテナからオーバーフローする必要があります。

その場合、何らかの理由でオーバーフローを制御する親に高さを設定する必要がある場合は、代わりにその高さをemに設定してみてください。テキストが新しい行に折り返されない限り、テキストとともに少し大きくなる可能性があります。

これが高さでうるさい場合は、他の多くのフロート封じ込めコードのいずれかを使用することもできます。

于 2012-08-06T19:57:20.727 に答える