我希望在悬停时使用dsiplay菜单,但不能正常工作。
HTML code pour afficher:
<nav>
<ul class="menu">
<li><a href="index.html">home</a></li>
<li class="current">other</a></li>
<li>
<a href="index-2.html">services</a>
<ul class="drop">
<li><a href="index-2.html">s1</a></li>
<li><a href="index-4.html">s2</a></li>
</ul>
</li>
</ul>
</nav>
显示菜单和删除的CSS代码:
nav .menu li:hover > a {
background: #e2782e;
transition: all 0.5s;
color: white;
font-weight:bold;
}
.drop{
display:none;
}
li :hover > .drop{
display:black;
}
答案 0 :(得分:1)
请查看以下代码供您参考。
ul.drop{display:none;}
nav ul li a:hover{background:#ccc;}
nav ul li:hover ul.drop{display:block;}
&#13;
<nav>
<ul class="menu">
<li><a href="#">home</a></li>
<li><a href="#">other</a></li>
<li><a href="#">services</a>
<ul class="drop">
<li><a href="#">s1</a></li>
<li><a href="#">s2</a></li>
</ul>
</li>
</ul>
</nav>
&#13;
答案 1 :(得分:0)
<nav>
<ul class="menu">
<li><a href="index.html">home</a></li>
<li class="current">other</a></li>
<li>
<a href="index-2.html">services</a>
<ul class="drop">
<li><a href="index-2.html">s1</a></li>
<li><a href="index-4.html">s2</a></li>
</ul>
</li>
</ul>
</ul>
</nav>
nav .menu li:hover .drop li a {
background: #e2782e;
transition: all 0.5s;
color: white;
font-weight:bold;
}
.drop{
display:none;
}
li :hover > .drop{
display:block;
}
Please try this code.
答案 2 :(得分:0)
几个问题:
</a>
标记。</ul>
标记black
不是display
媒体资源的有效值,请改用list-item
。编辑:请参阅上面的Nick De Jaeger对纠正码的回答。使用display: block
也有效,但list-item
在这种情况下更合适(<li>
)。
答案 3 :(得分:0)
巴特看这里,当我悬停在所有隐藏菜单项隐藏
时,这就是所有cssnav .menu {
height: 60px;
background: #8d8989;
border-radius: 5px;
padding: 0;
margin: 0;
text-align: center; /* center the li */
}
nav .menu li {
display: inline-block;
}
nav .menu li a{
font-family: arial, sans-serif;
color: #fff;
text-decoration: none;
text-transform: uppercase;
line-height: 60px;
font-weight:bold;
vertical-align: middle;
padding: 20px;
transition: all 0.5s;
}
nav .menu li:hover > a {
background: #e2782e;
transition: all 0.5s;
color: #FFF;
font-weight: bold;
}
.drop{
display: none;
}
li:hover > .drop{
display: list-item;
background-color:red;
}
HTML
<nav>
<ul class="menu">
<li><a href="index.html">home</a></li>
<li><a href="index.html">contact</a></li>
<li>
<a href="index-2.html"><?php echo $lang['MENU_OUR_PRODUCTS']; ?></a>
<ul class="drop">
<li><a href="index-2.html"><?php echo $lang['MENU_History']; ?></a></li>
<li><a href="index-4.html"><?php echo $lang['MENU_CONTACT_US']; ?></a></li>
<li><a href="index-2.html"><?php echo $lang['MENU_History']; ?></a></li>
<li><a href="index-4.html"><?php echo $lang['MENU_CONTACT_US']; ?></a></li>
</ul>
</li>
</ul>
</ul>
</nav>
答案 4 :(得分:0)
点击此处 jsfiddle
您的代码中存在一些问题
首先在您的HTML 中</a>
上有一个结束标记li.current
,但您没有<a>
。所以不需要结束标记
你还有额外的结束标记</ul>
,你只有2 ul
要关闭,ul.menu
和ul.drop
所以你只需要2 </ul>
没有3。
秒,li
和:hover
之间有空格,您需要像li:hover
一样将它们一起编写。
display:black
也不存在,我想你想写display:block
更新了代码HTML:
<ul class="menu">
<li><a href="index.html">home</a></li>
<li class="current">other</li>
<li>
<a href="index-2.html">services</a>
<ul class="drop">
<li><a href="index-2.html">s1</a></li>
<li><a href="index-4.html">s2</a></li>
</ul>
</li>
</ul>
CSS:
nav .menu li:hover > a {
background: #e2782e;
transition: all 0.5s;
color: white;
font-weight:bold;
}
.drop{
display:none;
}
li:hover > .drop{
display:block;
}
让我知道它是否有帮助。
注意:有关stackoverflow的问题很多,你应该能够很快找到答案,也可以查看 CSS Dropdowns
答案 5 :(得分:-1)
nav .menu li:hover > a {
background: #e2782e;
transition: all 0.5s;
color: #FFF;
font-weight: bold;
}
.drop{
display: none;
}
li:hover > .drop{
display: block;
}
<nav>
<ul class="menu">
<li><a href="index.html">home</a></li>
<li class="current"><a href="#">other</a></li>
<li><a href="index-2.html">services</a>
<ul class="drop">
<li><a href="index-2.html">s1</a></li>
<li><a href="index-4.html">s2</a></li>
</ul>
</li>
</ul>
</nav>