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

时间:2011-01-21 15:05:39

标签: 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;
}

我想要发生的事情是当我将鼠标悬停在论坛上时,会突出显示白色。然后,如果我超过篮球,论坛和篮球会突出显示白色。对孩子们来说也是如此。我希望能够显示一条路径,所以当它们覆盖某些东西时,定位应该能够告诉他们他们正在访问哪一个,我希望突出显示清楚。任何帮助,将不胜感激。哦,如果可能请不要使用Javascript。感谢。

当我将鼠标悬停在最后一个孩子身上时,这就是现在的样子: alt text

红色圆圈的我也想突出白色。 alt text

更新
这是我必须接受的。现在这很难看,但这是我能想到的最好的。 alt text

1 个答案:

答案 0 :(得分:2)

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

Complex CSS selector for parent of active child

鲍勃