Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Css Wordpress,如何使整个子菜单下拉框可点击?_Css_Wordpress_Drop Down Menu_Navbar_Navigationbar - Fatal编程技术网

Css Wordpress,如何使整个子菜单下拉框可点击?

Css Wordpress,如何使整个子菜单下拉框可点击?,css,wordpress,drop-down-menu,navbar,navigationbar,Css,Wordpress,Drop Down Menu,Navbar,Navigationbar,我正在使用下面的代码在header.php中显示我的菜单 $arg = array( 'menu' => 'top', 'theme_location' => 'top', 'menu_class' => 'nav navbar-nav', ); wp_nav_menu($arg); 通过添加正确的css,我能够在鼠标悬停时正确显示子菜单。但是,鼠标悬停时,只有子菜单块内的文本可单击,子菜单块的其余部分不可单击。此外,页面源代码中的代码确

我正在使用下面的代码在
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>
但是,我希望整个子菜单块都是可点击的,我想如果我能把锚代码放到
  • 之外,
  • 那么它就可以工作了,应该是这样的:
    。但是怎么做呢? 请告诉我如何使用
    css
    wp\u nav\u菜单($arg)或我还有什么其他选择


    非常感谢

    您应该让
    标签覆盖其整个宽度和高度:

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

    注意:如果这不起作用,您还为
    li
    ul
    及其深父级设置了一定的高度和宽度(以像素或百分比为单位)除非您确保100%对该块元素有明确的含义。

    理论上,您可以通过CSS来改变这一点,例如为a添加一个伪元素,并将其定位在整个块上,但这种方式不必要复杂,可能会导致很多问题。我建议你用JS来解决这个问题。你能为你发布的代码添加一些解释吗?这很好,谢谢,
    。子菜单li{width:100%;height:100%;display:block;}。子菜单li a{width:100%;height:25px;display:block;}
    你可以编辑你对上述代码的答案,我会接受它作为答案。谢谢你没用!而且,我将ul和li设置为宽度100%,高度100%(或25px),这也没有任何好处!
    /* css Solution */
    .sub-menu li {
    width: 100%;
    height:100%;
     display: block;
    }
    .sub-menu li a {
        display:block;
        width: 100%;
        height: 20px;
    }