プロが教えるわが家の防犯対策術!

CSS
#navbar {
position: absolute;
z-index: 1
}

HTML
<div id="navbar">

</div>
<div id="contents">

</div>

CSSとJavascriptを使って、プルダウンメニューを作ったのですが、IE7でうまく動かない為ネット検索したところ、CSSの「position:absolute;」に対して、「"absoluteした要素が消える"というIEのバグ?」の記事に出会いました。
このため「position:relative;」としてみたのですが..
メニューの下のコンテンツがプルダウンメニューのプルダウンされる大きさの分だけ下に下がって空間が空いてしまい、メニューバーの下にコンテンツがすぐ在ってその上にプルダウンするメニューが重なる、という表示ができなくなってしまいました。

なにかよい方法はありますでしょうか。

A 回答 (2件)

細かな内容が分らないので、上手く説明出来ませんが、妥協案としては


position: relative;した要素のmargin-bottom等にネガティブマージンを
適用(-○○px等)してあげて、IE6対策でoverflow:hiddenを使えば
対処療法にはなるのでは。。

私の場合、position:absoluteして消えた場合は、基本前後のfloatが影響しているか、
text-align等が悪さしているか、たまにz-indexで後ろに隠れてしまっている
か、絶対配置の基準になるposition:relativeの位置がおかしいかを考え、一つづつ潰していきます。
    • good
    • 0
この回答へのお礼

回答有難うございました。
CSSについてまだ素人なので、片っ端からネット検索かけてプルダウンメニューのサンプルを探し、色々試してデザイン・動作とも上手く使えそうなものにHTMLと併せて書き直しました。
今回のご回答については、HPの改定時にまた役立てようと思います。

お礼日時:2009/10/10 23:03

私のほうで詳しく実験したわけでは無いのですが、


下記の参考URLのサイトが役に立つのではないでしょうか?

参考URL:http://jmblog.jp/archives/180
    • good
    • 0
この回答へのお礼

ご紹介のサイトは既に見ていました。「clear」は使用してないので「width:100% の float」だと思ったのですが、不具合はIE7でなので、それも違う。とりあえず「<div class="extra">extra box</div>」の追加を試しましたが何も変わりませんでした(~_~)

お礼日時:2009/10/08 14:37

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!