web-dev-qa-db-ja.com

ドロップダウンメニューが途切れる、またはdivの後ろに表示される

画像遷移ギャラリーdivの後ろに表示されるドロップダウンメニューがあります。以下は、それがどのように見えるかのイメージと、そのためのHTMLとCSSです。

enter image description here

HTML:

<body>
<div id="top_bar">
<div id="top_inner">
<div id="logo"> <a href="http://www.edosbornephotography.com"><img src="images/logo.gif" alt="Ed Osborne" width="225" height="115" class="logo"></a></div>
<div class="nav">
<ul class = "menu" >
            <li> <a href = "#" > Home </a> </li>
            <li><a href = "#" > Packages </a>
            <li><a href = "#" > Weddings </a>
            <li><a href = "#" id="left" > Lifestyle </a>
        <ul class = "submenu" >
            <li> <a href = "#" > Families </a> </li>
            <li> <a href = "#"> Newborn/Child </a> </li>
            <li> <a href = "#" > Portraits </a> </li>
        </ul>
        </li>

        <li> <a href = "#" > Blog </a> </li>
        <li><a href = "#" id="left"> Abous Us </a>
        <ul class = "submenu" >
        <li> <a href = "#" > Ed Osborne </a> </li>
        <li> <a href = "#" > Testimonials </a> </li>
        <li> <a href = "#" > FAQs </a> </li>
        </ul>
        </li>

        <li> <a href = "#" > Contact Us </a> </li>
        <li> <a href = "#" > Links </a> </li>
        </ul>
    </div>
</div>
</div>

<div id="main">  

<div id="smart-gallery">
    <a href="images/cubagallery-img-1.jpg">
        <img src="images/cubagallery-img-1.jpg" /></a> 

    <a href="images/cubagallery-img-15.jpg">
        <img src="images/cubagallery-img-15.jpg" /></a> 

    <a href="images/cubagallery-img-3.jpg">
        <img src="images/cubagallery-img-3.jpg" /></a> 

    <a href="images/cubagallery-img-4.jpg"></a>
        <img src="images/cubagallery-img-4.jpg" /></a>
</div>

</div>

CSS:

.min-gallery
{
width: 927px;
height: 615px;
border: solid 1px black;
background-color: Black;
background: url(../images/bg.jpg);
margin: auto;
margin-left: 232px;
}

.min-gallery .preview
{
width: 852px;
height: 493px;
margin-top: 36px;
margin-left: 36px;
margin-right: 36px;
position: relative;
border: solid 2px black;
overflow: hidden;
background-color: White;
}

.min-gallery .preview img
{
/* width: 795px;             height: 525px;*/
position: absolute;
}

.min-gallery .bottom
{
width: 100%;
height: 98px;
color: Gray;
font-family: Arial;
font-size: 1em;
font-weight: bold;
overflow: hidden;
}

#top_bar {
width: 100%;
height: 145px;
background: #000000;
padding-bottom: 20px;
}

#top_inner {
text-align: center;
margin: 0 auto;
width: 1000px;
height: 144px;
}

.nav {
margin: 0 auto;
position: relative;
padding-top: 100px;
}

ul.menu {
list-style: none;
margin: 0;
float: left;
background: #222;
font-size: 1.2em;
background: url(../images/topnav_bg.gif) repeat-x;
}
ul.menu li {
float: left;
margin: 0;  
position: relative; 
}
ul.menu li a{
padding: 10px 18px;
color: #fff;
display: block;
text-decoration: none;
float: left;
}

ul.menu li a#left{
padding: 10px 5px;
color: #fff;
display: block;
text-decoration: none;
float: left;
}

ul.menu li a:hover {
background: url(../images/topnav_hover.gif) no-repeat center top;
}

ul.menu li span { 
width: 11px;
height: 35px;
float: left;
background: url(../images/subnav_btn.gif) no-repeat center top;
}

ul.menu li span.subhover {
background-position: center bottom; cursor: pointer;
}

ul.menu li ul.submenu {
list-style: none;
position: absolute; 
left: 0; top: 35px;
background: #333;
margin: 0; padding: 0;
display: none;
float: left;
width: 170px;
-moz-border-radius-bottomleft: 5px;
-moz-border-radius-bottomright: 5px;
-webkit-border-bottom-left-radius: 5px;
-webkit-border-bottom-right-radius: 5px;
border: 1px solid #111;
}

ul.menu li ul.submenu li{
margin: 0; padding: 0;
border-top: 1px solid #252525; 
border-bottom: 1px solid #444; 
clear: both;
width: 170px;
}

html ul.menu li ul.submenu li a {
float: left;
width: 122px;
padding-left: 30px;
text-align: left;
}

.min-gallery .preview imgからposition:absoluteを削除すると、ドロップダウンメニューが上部に表示されますが、これは画像の変更が停止し、1つの画像に貼り付くだけです。

誰でも簡単に修正できますか?すべてのコードの貼り付けについては申し訳ありませんが、私はあなたに私のポイントを他にどのように表現できるかわかりません

ありがとう

12
user1278496

ドロップダウンメニューのZインデックスを高く設定します。

.submenu { z-index: 999; }

理由「スタック順序の大きい要素は、常にスタック順序の小さい要素の前にあります。」

20
NullPoiиteя

ドロップダウンメニューにZ-indexを使用します。

.submenu { z-index: 1; }

また、補足として、接頭辞付きのプロパティを使用している場合は、ベンダー固有の接頭辞の後に最後に表示されるspecプロパティも使用する必要があります。例:

-webkit-border-radius: 5px;
   -moz-border-radius: 5px;
        border-radius: 5px;

ベンダーが標準プロパティをサポートしている場合、コードを変更する必要はありません。

11
Mark

使用する

.submenu {z-index:1; position:relative}

0
Nabeel khan