2011-07-15 20 views
0

私はCSSドロップダウンナビゲーションメニュー付きのWebページを持っています。私の問題は、ドロップダウンを表示させるためにメニューの上にマウスを移動すると、ページ内の他のすべてがドロップダウンの代わりにドロップダウンのスペースを作るために移動することです。マイナビリンクは、その要素のid「ヘッダ」と私のCSSでdiv要素であるが、このようになります:動いているページ内の要素の相対的に配置された要素を持つZ-インデックス

#header { 
    width: 100%; 
    z-index: 100; 
    position: relative; 
} 

なしヘッダおよびそれらの非持た内ではありませんz-indexを指定します。誰かが私が間違っていることを教えてもらえますか?

答えて

0

あなたは、メニューボタンにカーソルを合わせると表示されるサブメニューにposition: absoluteを追加する必要があります。またhttp://www.htmldog.com/articles/suckerfish/dropdowns/

関連:

チュートリアルは、ここを参照してください私の理解からhttp://css-tricks.com/791-absolute-positioning-inside-relative-positioning/

+0

これは機能しましたが、絶対位置を使用する必要があるのはなぜですか?私は、絶対的または相対的に配置された要素に対してz-インデックスが機能すると仕様を理解しました。それは間違っているのですか、それとも私はそれを誤解していますか? – Christopher

+1

これは 'z-index'の問題ではありません。通常の文書フローからサブメニューを削除するには 'position:absolute'が必要です。例えば:http://jsfiddle.net/mMGqd/ – thirtydot

+0

それは意味がある、ありがとう。 – Christopher

0

positionからabsoluteに変更し、親コンテナのpositionrelativeにします。

それとも、反対方向に、#header内の別のコンテナを作成し、その中にすべてを詰め込みます。

重要なポイントは、内側の要素が絶対的に配置される必要がありますが、その親に対してです。したがって相対的な親の位置。

+0

、 '#のheader'は "親コンテナ" です。 – thirtydot

+0

大丈夫、その子どもたちは絶対的に位置づけられます。答えはどちらかの方法を気にするのに十分なOeneralです。 – Kon

関連する問題