0

サイトのナビゲーション デザインを使用しています - CSSDECK

私はいくつかの変更を行いました。これが私のコードです。

疑問:

  1. sをラップしない#siteNavのはなぜですか。とで使用しました。私が知っているのは、ブラウザがそれに応じて高さを決定するということです。しかし、これは起こっていません。なぜ?#siteNav ulliheight:auto#siteNav#siteNav ulauto
  2. またはoverflow:auto or hiddenのいずれかで行う場合。次に、そのブロックはs をラップします。なぜこれを行うのですか?#siteNav#siteNav ullioverflow
4

3 に答える 3

2

これは、あなたliの s が浮いているためです。がない場合overflow: hidden;liは とは異なるコンテキストにあるulため、ulはそれらをラップしません。

overflow: hidden;コンテナのサイズをfloated コンテンツに合わせて変更するための一般的な既知の修正ですが、他の方法もあります。詳細なリファレンスについては、 this を参照してください。

于 2012-09-28T16:23:10.647 に答える
0

overflow: hidden;あなた に適用するだけ#siteNav ul

 #siteNav ul {
overflow: hidden;
}

オーバーフローを目に見えるもので使用すると、新しいブロック フォーマット コンテキストを確立するためです ( w3.org 仕様へのリンク)。by-クリストフ

これを読む

于 2012-09-28T16:24:42.363 に答える
0

これはリスが浮いているために起こっています。フロート要素を含むラッパーは、overflow: hidden がラッパーに適用されない限り、コンテンツをラップしません。これは、フロート要素に関する一般的なブラウザーの問題です。また、overflow:hidden は、すべてのブラウザーでこの問題を修正するわけではありません。「clearfix」を検索して、この問題に対するクロス ブラウザの修正を確認してください。

ところで、height:auto は必要ありません。デフォルトではブロック要素の幅と高さは auto です。浮動要素が内部にない場合は、期待どおりの動作が見られます。

于 2012-09-28T16:32:53.060 に答える