HTML 和 CSS 多层下拉菜单,需要悬停着色方面的帮助

标签 html css html-lists stylesheet drop-down-menu

这是列表和元素:

<ul>
    <li>
        <a href="#">Home</a>
    </li>
    <li>
        <a href="#">Forums</a>
        <ul>
            <li>
                <a href="#">Baseball</a>
                <ul>
                    <li>
                        <a href="#">Trading</a>
                    </li>
                    <li>
                        <a href="#">Personal Collections</a>
                    </li>
                    <li>
                        <a href="#">Box Breaks</a>
                    </li>
                </ul>
            </li>
            <li>
                <a href="#">Basketball</a>
                <ul>
                    <li>
                        <a href="#">Trading</a>
                    </li>
                    <li>
                        <a href="#">Personal Collections</a>
                    </li>
                    <li>
                        <a href="#">Box Breaks</a>
                    </li>
                </ul>
            </li>
            <li>
                <a href="#">Football</a>
                <ul>
                    <li>
                        <a href="#">Trading</a>
                    </li>
                    <li>
                        <a href="#">Personal Collections</a>
                    </li>
                    <li>
                        <a href="#">Box Breaks</a>
                    </li>
                </ul>
            </li>
            <li>
                <a href="#">Hockey</a>
                <ul>
                    <li>
                        <a href="#">Trading</a>
                    </li>
                    <li>
                        <a href="#">Personal Collections</a>
                    </li>
                    <li>
                        <a href="#">Box Breaks</a>
                    </li>
                </ul>
            </li>
        </ul>
    </li>
</ul>

这是 CSS:

ul
{
    margin: 0;
    padding: 0;
    list-style: none;
    width: 100px;
    border-bottom: 1px solid #ccc;
}

a
{
    color: #777;
}

a:hover
{
    background-color: #fff;
}

ul li
{
    position: relative;
}

li ul
{
    display: inline;
    position: absolute;
    left: 99px;
    top: 0;
    display: none;
}

li ul li ul
{
    width: 150px;
}

ul li a
{
    display: block;
    text-decoration: none;
    background: #bad8f8;
    padding: 2px 0 2px 10px;
    border: 1px solid #ccc;
    border-bottom: 0;
}

li:hover > ul
{
    display: block;
}

我想要发生的是,当我将鼠标悬停在论坛上时,它突出显示为白色。然后,如果我查看 Basketball,Forum 和 Basketball 会突出显示为白色。 children 也是如此。我希望能够显示一条路径,这样当他们越过某物时,定位应该能够告诉他们他们正在访问哪一个,我希望突出显示清楚。任何帮助,将不胜感激。哦,如果可能,请不要使用 Javascript。谢谢。

这是我将鼠标悬停在最后一个 child 上方时的样子: alt text

而红色圆圈的我也想突出显示为白色。 alt text

更新
这是我将不得不接受的。现在它很丑陋,但这是我能想到的最好的。 alt text

最佳答案

在 CSS 中,当您向下导航嵌套的 ul 列表时,保持父级处于“选中”状态可能是不可能的。我不认为 CSS 选择器能够提升树。不过,使用 javascript 应该不难。这是一个引用:

Complex CSS selector for parent of active child

鲍勃

关于HTML 和 CSS 多层下拉菜单,需要悬停着色方面的帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4760314/

相关文章:

Jquery 多个 Div

css - 以 Angular 动态设置 css 过渡

javascript - 如何从文档 url 获取哈希

css - 在不调整父宽度的情况下保持子宽度动态

angular - 分层 TreeView 使用 Angular 8 中的 Ul li 展开折叠

jquery - 如何在页面加载时隐藏空白div

javascript - VueJS : How can I get the parameter of the class that was clicked on?

ruby-on-rails - haml 标签内的任何 Rails 代码都会在浏览器 html 标签内生成空白/空字符

javascript - Jquery获取数组中的window.location.search标签

javascript - Angular:基于属性的样式