【问题标题】:Wordpress, how to make the whole sub-menu dropdown block clickable?Wordpress,如何使整个子菜单下拉块可点击?
【发布时间】:2018-10-12 06:57:54
【问题描述】:

我正在使用下面的代码在header.php 中显示我的菜单

 $arg = array(
      'menu' => 'top',
      'theme_location' => 'top',
      'menu_class' => 'nav navbar-nav', );
wp_nav_menu($arg);

通过添加正确的 css,我能够在鼠标悬停时正确显示子菜单。但是,在鼠标悬停时,只有子菜单块内的文本是可点击的,而子菜单块的其余部分是不可点击的。此外,页面来源中的代码也证实了这一点,它看起来像这样:

<ul id="menu-top" class="nav navbar-nav" >
 <li>
     <ul class="sub-menu" >
         <li id="menu-item-75" ><a href="http://.....">link text</a> </li>
     </ul>
  </li>
</ul>

但是,我希望整个子菜单块都是可点击的,我认为如果我能以某种方式将锚代码放在 &lt;li&gt;...&lt;/li&gt; 之外,那么它就会起作用,看起来应该是这样的:@ 987654325@。但是怎么做? 请让我知道如何仅使用 csswp_nav_menu($arg); 或我有什么其他选择来做到这一点?

非常感谢

【问题讨论】:

  • 虽然理论上你可以通过 CSS 来改变这一点,例如为 a 添加一个伪元素并将其定位在整个块上,但这种方式会不必要地复杂,并且可能会导致很多问题。我建议你用 JS 来解决这个问题。

标签: css wordpress drop-down-menu navbar navigationbar


【解决方案1】:

您应该让&lt;a&gt; 标签覆盖其父级的整个宽度和高度:

.sub-menu li a{
   display:block;
   width:100%;
   height:100%;
}

注意:如果这不起作用,您还为 liul 及其深层父项设置了一定的高度和宽度(以像素或百分比为单位),直到您确保 100% 对这个块元素。

【讨论】:

  • 那行不通!而且,我将 ul 和 li 设置为宽度 100% 和高度 100%(或 25px),这也没有任何好处!
【解决方案2】:
/* css Solution */
.sub-menu li {
width: 100%;
height:100%;
 display: block;
}
.sub-menu li a {
    display:block;
    width: 100%;
    height: 20px;
}

【讨论】:

  • 能否请您对您发布的代码添加一些解释?
  • 这完成了工作,谢谢,.sub-menu li { width: 100%; height:100%; display: block; } .sub-menu li a { width: 100%; height:25px; display: block; } 您可以编辑您对上述代码的答案,我会接受它作为答案。谢谢
猜你喜欢
  • 2018-07-06
  • 1970-01-01
  • 2015-03-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-03
  • 1970-01-01
相关资源
最近更新 更多