2016-08-12 12 views
1

У меня есть div за моим выпадающим меню, когда я делаю div прозрачным (свойство непрозрачности), он появляется перед выпадающим меню при наведении, и это приводит к тому, что выпадающее меню исчезает, когда мышь входит в область div. но я хочу сохранить этот div trasparent. Я попытался установить свойства z-index, но это не помогает.trasparent div скрывает прозрачное выпадающее меню при зависании

здесь HTML-код (упрощенный)

<div id="div1"> 
    <ul> 

    <li><a href="#">PROUCT</a> 
     <ul> 
     <li><a href="#">Product 1 </a></li> 
     <li><a href="#">Product 2</a></li> 
     <li><a href="#">Product 3</a></li> 
     <li><a href="#">Product 4</a></li> 
     <li><a href="#">Product 5</a></li> 
     <li><a href="#">Product 6</a></li> 
     <li><a href="#">Product 7</a></li> 
     </ul> 
    </li> 

    </ul> 

    <div id="buying_form"> 
    <h2> please fill your buying form</h2></div> 

</div> 

и CSS:

ul { 
margin: 0px; 
    padding: 0px; 
} 

ul li { 
    background-color: black; 
    border: 1px solid white; 
    width: 330px; 
    height: 30px; 
    line-height: 30px; 
    float: left; 
    text-align: center; 
    list-style: none; 
    opacity: .8; 
    z-index: 1px; 
} 

ul li a { 
    color: white; 
    text-decoration: none; 
    display: block; 
} 

ul li a:hover { 
    background-color: ORANGE; 
} 

ul li ul li { 
    display: none; 
} 

ul li:hover ul li { 
    display: block; 
    cursor: default; 
} 

#div1 { 
    width: 200px; 
    height: 650px; 
    background: url(bgi2.jpg); 
    text-align: center; 
} 

#buying_form { 
    float: left; 
    margin-left: 4px; 
    margin-top: 100px; 
    width: 326px; 
    height: 442px; 
    color: MEDIUMBLUE; 
    border: 1px solid gray; 
    background-color: #708090; 
    opacity: .5; 
} 

Вы можете увидеть это поведение здесь:

https://jsfiddle.net/xsmael/mdthqdh4/4/

ответ

1

Во-первых, Не используйте opacity ... это сделает содержимое непрозрачностью тоже. Используйте цвет фона с альфа-значением (rgba). See this question

Затем вам необходимо установить подменю абсолютно (с родителем li), имеющим position:relative;

ul { 
 
    margin: 0px; 
 
    padding: 0px; 
 
} 
 
ul li { 
 
    background-color: rgba(0, 0, 0, 0.8); 
 
    border: 1px solid white; 
 
    width: 330px; 
 
    height: 30px; 
 
    line-height: 30px; 
 
    float: left; 
 
    text-align: center; 
 
    list-style: none; 
 
    position: relative; 
 
} 
 
ul li a { 
 
    color: white; 
 
    text-decoration: none; 
 
    display: block; 
 
} 
 
ul li a:hover { 
 
    background-color: ORANGE; 
 
} 
 
ul li ul { 
 
    position: absolute; 
 
    display: none; 
 
} 
 
ul li:hover ul { 
 
    display: block; 
 
    cursor: default; 
 
} 
 
#div1 { 
 
    width: 200px; 
 
    height: 650px; 
 
    background: url(bgi2.jpg); 
 
    text-align: center; 
 
} 
 
#buying_form { 
 
    float: left; 
 
    margin-left: 4px; 
 
    margin-top: 100px; 
 
    width: 326px; 
 
    height: 442px; 
 
    color: MEDIUMBLUE; 
 
    border: 1px solid gray; 
 
    background-color: rgba(0, 0, 255, 0.25); 
 
} 
 
body { 
 
    background: lightgreen; 
 
}
<div id="div1"> 
 
    <ul> 
 
    <li><a href="#">PROUCT</a> 
 
     <ul> 
 
     <li><a href="#">Product 1 </a> 
 
     </li> 
 
     <li><a href="#">Product 2</a> 
 
     </li> 
 
     <li><a href="#">Product 3</a> 
 
     </li> 
 
     <li><a href="#">Product 4</a> 
 
     </li> 
 
     <li><a href="#">Product 5</a> 
 
     </li> 
 
     <li><a href="#">Product 6</a> 
 
     </li> 
 
     <li><a href="#">Product 7</a> 
 
     </li> 
 
     </ul> 
 
    </li> 
 
    </ul> 
 

 
    <div id="buying_form"> 
 
    <h2> please fill your buying form</h2> 
 
    </div> 
 

 
</div>

 Смежные вопросы

  • Нет связанных вопросов^_^