У меня есть два divs
- один содержит изображение, а другой - панель меню. Идея состоит в том, чтобы навести курсор на значок #changeLayer
и увидеть меню. Я пробовал:div, содержащий изображение, не отвечающее на зависание
#changeLayer:hover > #menu{
visibility:visible;
}
Но это не работает. Когда я просто установил видимость #changeLayer
на видимую, он появится на экране, но функция зависания по какой-то причине не работает. Я попытался изменить z-индексы, переупорядочив порядок div
, но ничего не происходит. Это потому, что он использует файл изображения и что может быть обходным путем?
CSS:
#menu {
position: absolute;
z-index: 2;
background: #fff;
right: 200px;
padding: 10px;
font-family: 'Open Sans', sans-serif;
visibility: hidden;
}
#changeLayer{
content:url(https://cdn1.iconfinder.com/data/icons/pixel-perfect-at-16px-volume-1/16/5049-512.png);
position: fixed;
z-index: 3;
top: 1%;
left: 26%;
height: 50px;
width: 50px;
opacity: 0.9;
}
#changeLayer:hover > #menu{
visibility:visible;
}
HTML:
<div id='changeLayer'></div>
<div id='menu'>
<input id='bright' type='radio' name='rtoggle' value='bright'>
<label for='bright'>bright</label>
<input id='light' type='radio' name='rtoggle' value='light', checked='checked'>
<label for='light'>light</label>
<input id='dark' type='radio' name='rtoggle' value='dark'>
<label for='dark'>dark</label>
</div>
Спасибо, это работает. Есть ли способ сохранить '# menu' открытым, пока он тоже наводится? –
@the_darkside отредактировал мой ответ, чтобы дать вам способ. –