css 下拉菜单只能悬停在文本上

标签 css text drop-down-menu hover

当使用我的 css 下拉菜单时,只有下拉菜单的文本处于事件状态,这使得选择起来更加困难,而不是更容易选择的区域(尤其是对于移动设备)。

CSS 是:

#topMenu ul {
  text-align: center;
  display: inline;
  margin: 0;
  padding: 15px 20px 17px 20px;
  list-style: none;
}
#topMenu ul li {
  font: bold 12px sans-serif;
  text-transform:uppercase;
  color:#666;
  display: inline-block;
  margin-right: -4px;
  position: relative;
  padding: 10px 40px;
  background: #EEE;
  cursor: pointer;
  -webkit-transition: all 0.2s;
  -moz-transition: all 0.2s;
  -ms-transition: all 0.2s;
  -o-transition: all 0.2s;
  transition: all 0.2s;
}
#topMenu ul li:hover {
  background: #EEE;
  color: #000;
}
#topMenu ul li ul {
z-index: 5000;
  padding: 0;
  position: absolute;
  top: 38px;
  left: 0;
  width: 150px;
  display: none;
  opacity: 0;
  visibility: hidden;
  -webkit-transiton: opacity 0.2s;
  -moz-transition: opacity 0.2s;
  -ms-transition: opacity 0.2s;
  -o-transition: opacity 0.2s;
  -transition: opacity 0.2s;
}
#topMenu ul li ul li { 
  background: #EEE; 
  display: block; 
  color: #000;
  border:solid 1px #999999;
}
#topMenu ul li ul li:hover { background: #EEE; }
#topMenu ul li:hover ul {
  display: block;

  opacity: 1;
  visibility: visible;
}

代码可能有点繁琐。

谢谢

最佳答案

您可以将 display:block; 添加到您的 anchor 标记 CSS 中,使其填充 li

CSS:

#topMenu ul li ul a {
  display: block;
}

HTML:

<ul id="topMenu">
  <li>
    <ul>
      <li>
        <a href="#">Link Text</a>
      </li>
      <!-- more submenu items -->
    </ul>
  </li>
  <!-- more topMenu items -->
</ul>

关于css 下拉菜单只能悬停在文本上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19710947/

相关文章:

css - 是否可以反转 flexbox 横轴方向?

html - Ubuntu 字体在 Firefox 中导致奇怪的选择边框

javascript - 如何强制重新渲染 ag-grid 中的一行?

html - 在一行 html 中放置两个 <li>

html - 如何将图像居中放置在 2 个 div 上

android - 如何计算文件txt android中的行数

html - 在 CSS 中应用过滤器/掩码?

pdf - 无法从pdf复制特殊字符

javascript - 使用多个下拉列表选择的 URL 查询字符串(最好是 PHP?)

c# - 没有ajaxtoolkit的asp.net下拉列表ajax调用