#html #css #display #mousehover
#HTML #css #отображение #наведение курсора мыши
Вопрос:
HTML-код
.navbar li {
color: #B7B7B7;
font-family: 'Montserrat', sans-serif;
font-size: 14px;
min-width: 70px;
padding: 22px 16px 18px;
}
.navbar #menumain ul {
width: 120%;
}
.navbar ul ul {
display: none;
}
<div class="navbar">
<li id="menumain">
Menu1main
<ul>
<a href="/">
<li>Menu2</li>
</a>
</ul>
</li>
</div>
Как изменить отображение: нет в navbar ul ul
для отображения: блок с :hover
Как изменить display: none на navbar ul ul
display: block with :hover
?
Комментарии:
1. можете ли вы добавить свой код в jsfiddle?
2. Элементы Li должны быть дочерними элементами ul / ol, а не div
Ответ №1:
Я предполагаю, что вы просите что-то вроде этого:
.navbar li:hover ul {
display: block;
}
Но ваш код неясен. В настоящее время у вас есть .navbar ul ul
в вашем селекторе, но у вас нет двух вложенных ul
s нигде в вашей разметке.
Ответ №2:
.navbar li:hover ul {
display: block;
}
Я думаю, вы имеете в виду это
РЕДАКТИРОВАТЬ: @David Hedlund Ты был быстрее
Ответ №3:
Вы можете попробовать написать :hover
с вашим классом div.
.navbar li:hover ul {
display: block;
}
Согласно вашему HTML-коду, у вас нет 2 ul
вместо 1 li
и 1 ul
.
В идеале это должно быть ul
сначала, а затем li
в HTML-коде.
Ответ №4:
Вы делаете неправильно, человек. a> li — плохая практика. вам нужно сделать li> a
.navbar > li > ul { display: none; }
.navbar > li:hover > ul { display: block; }
<div class="navbar">
<li id="menumain">
Menu1main
<ul>
<li><a href="/">item1</a></li>
<li><a href="/">item2</a></li>
</ul>
</li>
</div>
Помните ошибку проверки HTML W3C: элемент a не разрешен как дочерний элемент элемента ul в этом контексте. (Подавление дальнейших ошибок из этого поддерева.)