我正试图隐藏部分菜单。当我拨打display:none
时,整个菜单都会消失。我有id来分开它们,所以我不知道为什么会这样。这是代码:
HTML:
<ul id="menu">
<li><a href="#">Categories 1</a>
<ul id="cat1">
<li><a href="#">temp1</a></li>
<li><a href="#">temp2</a></li>
<li><a href="#">temp3</a></li>
</ul>
</li>
</ul>
CSS:
#menu {
background-color: #0000FF;
height: 20px;
padding: 15px 0 10px;
margin-bottom: 20px;
font: 12px 'DroidSansBold', Tahoma,sans-serif;
font-weight: bold;
text-transform: uppercase;
letter-spacing: 1px;
box-shadow: 3px 2px 3px #000;
border-radius: 5px;
text-align: center;
}
#menu li{
display: inline-block;
}
#menu li a {
color: #fff;
text-decoration: none;
margin: 0 120px;
}
#cat1 li{
display: block;
padding: 10px;
}
#cat1 li a{
background-color: #0000FF;
padding: 10px;
border-radius: 5px;
}
有点工作的演示:http://jsfiddle.net/ZfN7t/
答案 0 :(得分:0)
当你在ul中处理ul时,如果给它们不同的类,通常更容易设计样式:
<ul id="menu">
<li class="menu-item"><a href="#">Categories 1</a>
<ul id="cat1">
<li class="cat1-item"><a href="#">temp1</a></li>
<li class="cat1-item"><a href="#">temp2</a></li>
<li class="cat1-item"><a href="#">temp3</a></li>
</ul>
</li>
</ul>
隐藏temp1,temp2,temp3,如下所示:
.menu-item #cat1{
display:none;
}
在悬停时显示:
.menu-item:hover #cat1{
display:block;
}