2012-01-26 6 views
1

私はhereという純粋なCSSメニューを使用しています。純粋なCSSドロップダウンメニューの問題

すべて機能しますが、作成したメニューを別のdiv領域に配置して、ページ全体にバーを作成したいとします。

これは、私がこのセクションでオーバーフローを置く場合に動作します:

#nav{ 
    list-style:none; 
    margin-bottom:10px; 
    margin-left:30%; 
    width:100%; 
    overflow:auto; 
} 

は、これはその後、作業バーのドロップダウンを停止します。

どのように私はこれを回避することができますか?

答えて

2

潜在的に重要な(その子の同じ高さにして展開し#nav(またはdivの上)に固定された高さを使用します。あなたの場合子供li秒に固定された高さで作業していない、あなたはどちらか、その正確な高さを知っている(=フォントサイズ、行の高さとboxmodell経由で計算)#nav上)

または

使用clear:left;ない場合がありますの助けを借りて疑似要素(注意:< = 7!)または周囲のdivに余分な要素を持つ(described here)

<div id="wrapper"> 
<ul id="nav"> 
    <li></li> 
    .... 
</ul> 
<div style="clear:left;"></div> 
</div> 
-1

私はこれしようとするだろう。このようなあなたは、スクロールバーで、

変更を良く見れば、

overflow: visible; 

または:に

overflow: auto; 

変更を:

overflow: auto; 

へ:

overflow: scroll; 

これら2つのオプションのいずれかがテキストが欠落しているものは何でもクライアントビューを助けます。それはあなたが見たいと思うように、そしてあなたがどのくらいのスペースを使って作業しているかにかかっています。しかし、これらの2つのオプションのいずれかが実行可能です。お役に立てれば。 overflow:auto/hidden;あなたはいくつかのオプションを持って省略することができるようにするために

+0

-1:あなたはその質問を理解しましたか?あなたのコードをテストしましたか? – Christoph

+0

質問が間違っている可能性がありますが、テストする必要はありません。私はそれを使用します。彼らはcss-tricks.comで同じことをしています。 –

+0

私をdownvoteする理由はありません。あなたがこれをテストしたなら、これはうまくいかないことに気づいたでしょう... – Christoph

1

具体的にどのようなことを達成したいのか、なぜこの例ではオーバーフローを使用する必要があるのか​​よくわかりません。あなたは単にhis exampleを変更できますか?

フロートをクリアするだけの場合はclearfix(つまり6+)を使用できます。

+0

彼の質問はちょっと混乱しますが、以前は同じ問題がありました。もしあなたが "bar"を持っていて、bg-colorで言うならば、floatをクリアするか、overflow hiddenを使うか、親要素で固定高さを使う必要があります。そうでなければ、崩壊して0の高さになります。 – Christoph

関連する問題