CSS下拉菜单:如何点击整个li:hover,而不仅仅是其中的超链接?

时间:2012-09-25 17:49:52

标签: css drop-down-menu click hover

我希望我用正确的词语正确地问这个问题:我有一个非常基本的CSS下拉菜单,当我将鼠标悬停在每个li上时,它会突出显示(背景颜色)。当我悬停时,我希望能够点击整个li区域来到达链接目的地,而不必找到位于该li中的超链接来执行点击。

对于本次讨论,这里是我菜单的简化:

<div class="catnav">
<ul>
  <li><a href="#">CATEGORY</a>
    <ul>
      <li>Florists</li>
      <li>Caterers</li>
      <li>Formal Wear</li>
      <li>All Categories...</li>
    </ul>
  </li>
</ul>
</div>

...和CSS:

.catnav ul {list-style:none;margin:0px;padding:0px;}
.catnav li {float:left;text-align:center;position:relative;background:#f5f6f7;padding:0px 10px 0px 10px;}
.catnav li ul li {float:none;width:150px;text-align:left;padding-left:0px 0px 0px 5px;line-height:17px;}
.catnav a {text-decoration:none;color:#548dd4;font-family:arial;}

.catnav li ul {position:absolute;top:21px;left:0px; border:1px solid #ccc;
    -moz-box-shadow: 0px 3px 10px #aaa;
    -webkit-box-shadow: 0px 3px 10px #aaa;
    box-shadow: 0px 3px 10px #aaa;
    visibility:hidden;}
.catnav li:hover ul {visibility:visible;z-index:100;}
.catnav li:hover {background:#e0e0e0;}
.catnav li:hover li a {font-size:0.8em;font-weight:normal;visibility:visible;z-index:100;}

任何帮助都会很棒。谢谢!

Ĵ

2 个答案:

答案 0 :(得分:1)

试试这行css:

.catnav li ul li a {display:block;width:150px;}

或者您可以使用<li><a>)包裹<a><li></li></a>,但这只是不好的做法..

答案 1 :(得分:0)

Found the same question在这里问了一些好的答案。快速回答是使用display:block;,然后将填充添加到其中,但另一个帖子中的答案应该为您解释一切。