0

我在 CSS 中有三个问题。作为开发人员而不是设计专业人士,但需要解决这个问题。我有一个导航栏,看起来像这样:

<nav id="primary">
   <ul>
      <li><a href="#">Home</a></li>
      <li><a href="#">About</a>
          <ul>
            <li><a href="#" class="outer"><span class="arrow">></span>Item1</a></li>
            <li><a href="#" class="outer"><span class="arrow">></span>Item2</a></li>
          </ul>
      </li>
      <li><a href="#">Contact</a></li>
   </ul>
</nav>

我的嵌入式 CSS 看起来像

#primary ul li ul
{
display: none;
}
#primary li:hover >ul
{
  display: block;
  position: absolute;
  background: #bfe9f7;
  -webkit-border-shadow :0 1px 1px rgba(0,0,0,.2);
  -moz-box-shadow:0 1px 1px rgba(0,0,0,.2);
  box-shadow: 0 1px 1px rgba(0,0,0,0.2);
}
#primary ul li
{
  display: inline;
}
#primary li:hover
{
  position: relative;
}
#primary li a:hover
{
  background: #8ac142;
}
#primary li:hover ul 
{
  left: 0px;
  top: 30px;
  padding: 3px;
  width: 180px;
}
.arrow
{
  color: #009aca;
}
#primary ul li ul li a.outer 
{
  color: #3d3d3d;
  -webkit-box-shadow: 0px 4px 2px -2px #4cbadd;
  -moz-box-shadow: 0px 4px 2px -2px #4cbadd;
  box-shadow: 0px 4px 2px -2px #4cbadd;
}

现在,当我将鼠标悬停在“关于”上时,会显示下拉菜单,但是,1. 如果我稍微移动一下,它就会消失,使我无法单击“项目” 2. 关于的悬停状态给出了我想要的背景颜色绿色增加悬停面积。3. 我提到了#primary li:hover >ul '>' 实际上是做什么的?

4

1 回答 1

2
  1. 删除 #primary li:hover ul 的顶部和左侧的 css

    #primary li:hover ul 
    {
      padding:10px;
      width: 180px;
    }
    
  2. 增加你的填充。

    #primary ul li ul li a.outer 
    {
       padding:5px;
    }​
    

    示例:http: //jsfiddle.net/j2NsZ/3/

3.'>' 是子元素的选择器(更多信息

于 2012-10-18T08:33:06.490 回答