Css.active下拉菜单选择所有链接

时间:2018-09-01 作者:Arno Ramon

我正在使用引导navwalker显示我的菜单。但当我使用时。在下拉链接中,所有元素都将获得标记。(如图所示)

enter image description here

(只有“Jeugd bestuur”和“bestuur”应该是红色的。因为我在那一页。)

这是我的导航:

        <nav class="navbar navbar-expand-lg">

        <div class="container">
            <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNavDropdown" aria-controls="navbarNavDropdown"
                aria-expanded="false" aria-label="Toggle navigation">
                <i class="fas fa-bars fa-lg"></i>
            </button>
            <div class="navbar-collapse collapse" id="navbarNavDropdown">
                <ul class="navbar-nav nav-fill w-100">
                    <?php
                        wp_nav_menu( array(
                            \'theme_location\'    => \'primary\',
                            \'depth\'             => 2,
                            \'container\'         => \'div\',
                            \'container_class\'   => \'collapse navbar-collapse\',
                            \'container_id\'      => \'navbarNavDropdown\',
                            \'menu_class\'        => \'nav\',
                            \'fallback_cb\'       => \'WP_Bootstrap_Navwalker::fallback\',
                            \'walker\'            => new WP_Bootstrap_Navwalker(),
                        ) );
                    ?>
                </ul>
            </div>
        </div>
    </nav>
使用这个CSS,我试图获取活动标记

.header ul li.active a  {
    background-color: #FE0000;
    border-radius: 10%;
    background:rgba(255, 0, 0, 0.6 );
    color: #ffff;
} 

1 个回复
SO网友:Jacob Peattie

它这样做是因为你告诉过它。li.active a 表示“全部”a 是的后代的标记li 标记为active “类”和WordPress中的子菜单的结构如下:

<ul>
    <li>
        <a href="#"></a>
        <ul>
            <li>
                <a href="#"></a>
            </li>
        </ul>
    </li>
</ul>
所以li 对于任何带有子菜单的菜单项,还包含所有a 这些子菜单中链接的标记。

只需使用菜单项中的第一个链接child selector:

.header ul li.active > a {}

结束