您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何仅将当前li悬停在嵌套ul中?

如何仅将当前li悬停在嵌套ul中?

我相信使用CSS可以得到的最接近的结果是从悬浮元素的子元素中删除悬浮样式…这对父母没有帮助。

li:hover {

    background-color: lightgray;

}

li:hover {

    font-weight: bold;

}

li:hover ul {

    background-color: white;

    font-weight: normal;

}


<ul>

    <li>fnord

        <ul>

            <li>baz</li>

            <li>foo

                <ul>

                    <li>baz</li>

                    <li>foo</li>

                </ul>

            </li>

        </ul>

    </li>

    <li>gnarf

        <ul>

            <li>baz</li>

            <li>foo

                <ul>

                    <li>baz</li>

                    <li>foo</li>

                </ul>

            </li>

        </ul>

    </li>

</ul>

对于您发现的重复项,可接受的答案是用JavaScript做到这一点的最佳方式,方法e.stopPropagation:使用CSS级联<li>-hover效。不过,您将要比该选择器中的“ all lis”更具体:

$('li').mouSEOver(function(e)

{

    e.stopPropagation();

    $(this).addClass('currentHover');

});



$('li').mouSEOut(function()

{

    $(this).removeClass('currentHover');

});


.currentHover {

    background-color: red;

}

li.currentHover ul {

    background-color: white;

}


<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<ul class="container">

    <li>fnord

        <ul>

            <li>baz</li>

            <li>foo

                <ul>

                    <li>baz</li>

                    <li>foo</li>

                </ul>

            </li>

        </ul>

    </li>

    <li>gnarf

        <ul>

            <li>baz</li>

            <li>foo

                <ul>

                    <li>baz</li>

                    <li>foo</li>

                </ul>

            </li>

        </ul>

    </li>

</ul>
其他 2022/1/1 18:15:54 有534人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶