html - 进一步推出子子菜单

标签 html css

我需要你的帮助。

我的子子菜单似乎与子菜单重叠,这很好,但我想将它向右推出一些,以便子菜单文本不会被截断。

这是正在发生的事情的图片:

enter image description here

这是我的 HTML 和 CSS 标记:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>List of Frequently Used Templates for Road Safety</title>
<style type="text/css">
#navigation {
    width: 150px;
    font-size: 0.75em;
}
#navigation ul {
    margin: 0px;
    padding: 0px;
}

ul.top-level {
    background: #666;
}

#navigation li {
    list-style: none;
}
ul.top-level li {
    border-bottom: #fff solid;
    border-top: #fff solid;
    border-width: 1px;
}

#navigation a {
    color: #fff;
    cursor: pointer;
    display:block;
    height:25px;
    line-height: 25px;
    text-indent: 10px;                  
    text-decoration:none;
    width:100%;
}
#navigation a:hover{ 
    text-decoration:underline;
}
#navigation li:hover {
    background: #f90;
    position: relative;
}
ul.sub-level {
    display: none;
}
li:hover .sub-level {
    background: #999;
    border: #fff solid;
    border-width: 1px;
    display: block;
    position: absolute;
    left: 75px;
    top: 5px;
}
ul.sub-level li {
    border: none;
    float:left;
    width:150px; 
}

#navigation .sub-level {
    background: #999;
}
#navigation .sub-level .sub-level {
    background: #09C;
}

li:hover .sub-level .sub-level {
    display:none;
}

.sub-level li:hover .sub-level {
    display:block;
}   
</style>
</head>
    <body>
        <div id="navigation">
            <ul class="top-level">
                <li><a href="#">Home</a>
                    <ul class="sub-level">
                        <li><a href="#">Sub Menu Item 1</a>
                        </li>
                        <li>
                            <a href="#">Sub Menu Item 2</a>
                            <ul class="sub-level">
                                <li><a href="#">Sub Sub Menu Item 1</a></li>
                                <li><a href="#">Sub Sub Menu Item 2</a></li>
                                <li><a href="#">Sub Sub Menu Item 3</a></li>
                                <li><a href="#">Sub Sub Menu Item 4</a></li>
                            </ul>
                        </li>
                        <li><a href="#">Sub Menu Item 3</a></li>
                        <li><a href="#">Sub Menu Item 3</a></li>
                    </ul>
                </li>
                <li><a href="#">About</a></li>
                <li><a href="#">Contact</a></li>
                <li>
                    <a href="#">FAQ</a>
                    <ul class="sub-level">
                        <li><a href="#">Sub Menu Item 1</a></li>
                        <li>
                            <a href="#">Sub Menu Item 3</a>
                            <ul class="sub-level">
                                <li><a href="#">Sub Sub Menu Item 1</a></li>
                                <li><a href="#">Sub Sub Menu Item 2</a></li>
                                <li><a href="#">Sub Sub Menu Item 3</a></li>
                                <li><a href="#">Sub Sub Menu Item 4</a></li>
                            </ul>
                        </li>
                    </ul>
                </li>
                <li>
                    <a href="#">News</a>
                    <ul class="sub-level">
                        <li><a href="#">Sub Menu Item 1</a>
                            <ul class="sub-level">
                                <li><a href="#">Sub Sub Menu Item 1</a></li>
                                <li><a href="#">Sub Sub Menu Item 2</a></li>
                                <li><a href="#">Sub Sub Menu Item 3</a></li>
                                <li><a href="#">Sub Sub Menu Item 4</a></li>
                            </ul>
                        </li>
                        <li><a href="#">Sub Menu Item 2</a></li>
                        <li><a href="#">Sub Menu Item 3</a></li>
                    </ul>
                </li>
            </ul>
        </div>
    </body>
</html>

最佳答案

调整您的代码以匹配以下内容。工作样本:http://codepen.io/BJack/full/Cflem

你的

  • 的宽度是 150px,所以绝对定位时将 left 属性偏移 150px。

    li:hover .sub-level {
        background: #999;
        border: #fff solid;
        border-width: 1px;
        display: block;
        position: absolute;
        left: 150px;
        top: 0px;
    }
    
    .sub-level li:hover .sub-level {
      display:block;
      position: absolute;
      left: 150px;
    } 
    

  • 关于html - 进一步推出子子菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18517504/

    相关文章:

    html - 我无法将文本定位在边框内

    javascript - 触发 onBlur e.target() 时未定义

    javascript - 从 blob 切片创建 blob

    css - 在 <a> 标签中留下访问过的页面后,如何使 CSS 恢复为未访问过的样式?

    html - div 的 top-padding 与它上面的 div 无关

    html - 如何用CSS单元素制作镜像效果

    css - 未设置价格时 div 布局中断

    css - 如何使用 css 使它们水平并排对齐?

    css - 为什么 transform-origin CSS 属性没有出现在 React 中?

    javascript - 响应式 Flex 菜单