css - 设置三级无序列表的样式

标签 css

我有一个 3 级深的无序列表,我正在设计样式以创建一个下拉菜单来扩展 this 2 级简单下拉菜单。 CSS如下:

@CHARSET "ISO-8859-1";
/* menu styles */

/* Top-level (Styles Works) */
#jsddm
{   margin: 0;
    padding: 0}

    #jsddm li
    {   float: left;
        list-style: none;
        font: 12px Tahoma, Arial;}

    #jsddm li a
    {   display: block;
        /*background: #324143; Old Style*/
        background: -webkit-linear-gradient(top, rgba(238,238,238,1) 0%,rgba(204,204,204,1) 100%); /* Chrome10+,Safari5.1+ */;
        padding: 5px 12px;
        text-decoration: none;
        border-right: 1px solid white;
        width: 70px;
        /*color: #EAFFED; Default color*/
        color: #000099;
        white-space: nowrap;}


    #jsddm li a:hover
    {   background: #24313C}

        /* 2nd-level (Styles Works) */
        #jsddm li ul
        {   margin: 0;
            padding: 0;
            position: absolute;
            visibility: visible;
            border-top: 1px solid white}

            #jsddm li ul li
            {   float: none;
                display: inline}

            #jsddm li ul li a
            {   width: auto;
                background: #dfeffc;
                color: #24313C}

            #jsddm li ul li a:hover
            {   background: #5c9ccc}

                /* 3rd-level (Doesn't apply styles) */
                #jsddm li ul li ul
                {   margin: 0;
                    padding: 0;
                    position: absolute;
                    visibility: hidden;
                    border-top: 2px solid green}

样式适用于前两个级别,但不适用于第 3 个级别,我不确定我的语法是否正确,或者我是否遗漏了其他内容。 html如下:

    <div id="dropDownDiv">
        <ul id="jsddm">
            <li><a class="btn" href="#">Top Item 1</a>
                <ul>
                    <li><a id="" class="btn" href="#">2nd Level Item 1</a></li>
                    <li><a href="#">2nd Level Item 2</a></li>
                </ul>
            </li>
            <li><a class="btn" href="#">Top Item 2</a>
                <ul>
                    <li><a id="" class="btn hide" href="#">2nd Level Item 1</a></li>
                        <ul>
                            <li><a id="" class="btn hide" href="#">3rd Level Item 1</a></li>
                            <li><a id="" class="btn" href="#">3rd Level Item 1</a></li>
                        </ul>
                    <li><a id="" class="btn" href="#">2nd Level Item 1</a></li>
                </ul>
            </li>
        </ul>
    </div>

如有任何建议,我们将不胜感激。

更新:

谢谢你把你的眼睛借给我,Gareth。更正后的 html:

        <ul id="jsddm">
            <li><a class="btn" href="#">Top Item 1</a>
                <ul>
                    <li><a id="" class="btn" href="#">2nd Level Item 1</a></li>
                    <li><a href="#">2nd Level Item 2</a></li>
                </ul>
            </li>
            <li><a class="btn" href="#">Top Item 2</a>
                <ul>
                    <li><a id="" class="btn hide" href="#">2nd Level Item 1</a>
                        <ul>
                            <li><a id="" class="btn hide" href="#">3rd Level Item 1</a></li>
                            <li><a id="" class="btn" href="#">3rd Level Item 1</a></li>
                        </ul>
                    </li>
                    <li><a id="" class="btn" href="#">2nd Level Item 1</a></li>
                </ul>
            </li>
        </ul>

最佳答案

您的第三级 ul 不包含在 li 中。这可能会导致您的问题。

关于css - 设置三级无序列表的样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7018874/

相关文章:

css - 出于 SEO 目的在图像下隐藏文本

html - 如果页面短于窗口,则未知 div 会向页面添加长度

javascript - 如何在页面加载时显示运行进度条

css - 使用 CSS 显示/隐藏 SVG 中的元素

html - 在特定列表项之后添加单个图像

jquery - 在这种情况下使整个Div可单击

html - 根据是否存在其他元素更改 div 的宽度

html - 为什么我的导航栏顶部有一个空白区域?

html - 如何在悬停时从上到下动画对齐?

java - 使用 JavaScript 或 CSS 在网页的不同位置多次显示相同的图像