CSS:我的菜单中只有一部分应隐藏

时间:2013-06-24 20:58:39

标签: html css

我正试图隐藏部分菜单。当我拨打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/

1 个答案:

答案 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;
}