html - 可滚动的多级水平菜单

标签 html css menu submenu

我正在尝试创建一个多级可滚动水平菜单。子菜单可以很好地达到 n 级,但是当顶级 li 元素的数量更多并且无法容纳页面时,滚动条不会出现。相反,他们开始进入下一行。

完整代码如下

<html>
	<head>
	<style type="text/css">

   

	#nav, #nav ul{
margin:0;
padding:0;
list-style-type:none;
list-style-position:outside;
position:relative;
line-height:1.5em; 
}

#nav a{
display:block;
padding:0px 5px;
border:1px solid #333;
color:#fff;
text-decoration:none;
background-color:#333;
}

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

#nav li{
float:left;
position:relative;
}

#nav ul {
position:absolute;
display:none;
width:12em;
top:1.5em;
}

#nav li ul a{
width:12em;
height:auto;
float:left;
}

#nav ul ul{
top:auto;
}	

#nav li ul ul {
left:12em;
margin:0px 0 0 10px;
}

#nav li:hover ul ul, #nav li:hover ul ul ul, #nav li:hover ul ul ul ul{
display:none;
}
#nav li:hover ul, #nav li li:hover ul, #nav li li li:hover ul, #nav li li li li:hover ul{
display:block;
}




	</style>		
	</head>
	<body>
          <ul id="nav">
                <li>
                    <a href="#">3 Javascript</a>
                    <ul>
                        <li>
                            <a href="#">3.1 jQuery</a>
                            <ul>
                                <li>
                                    <a href="#">3.1.1 Download</a>
                                    <ul>
                                        <li>
                                            <a href="#">3.1.1 New Download</a>

                                        </li>
                                        <li><a href="#">3.1.2 New Tutorial</a></li>
                                    </ul>
                                </li>
                                <li><a href="#">3.1.2 Tutorial</a></li>
                            </ul>
                        </li>
                        <li><a href="#">3.2 Mootools</a></li>
                        <li><a href="#">3.3 Prototype</a></li>
                    </ul>
                </li>
                <li><a href="#">1 HTML</a></li>
                <li><a href="#">2 CSS</a></li>
                <li><a href="#">1 HTML</a></li>
                <li><a href="#">2 CSS</a></li>
                <li><a href="#">1 HTML</a></li>
                <li><a href="#">2 CSS</a></li>
                <li><a href="#">1 HTML</a></li>
                <li><a href="#">2 CSS</a></li>
                <li><a href="#">1 HTML</a></li>
                <li><a href="#">2 CSS</a></li>
                <li><a href="#">1 HTML</a></li>
                <li><a href="#">2 CSS</a></li>
                <li><a href="#">1 HTML</a></li>
                <li><a href="#">2 CSS</a></li>
                <li><a href="#">1 HTML</a></li>
                <li><a href="#">2 CSS</a></li>
                <li><a href="#">1 HTML</a></li>
                <li><a href="#">2 CSS</a></li>

                <li><a href="#">1 HTML</a></li>
                <li><a href="#">2 CSS</a></li>
                <li><a href="#">1 HTML</a></li>
                <li><a href="#">2 CSS</a></li>
                <li><a href="#">1 HTML</a></li>
                <li><a href="#">2 CSS</a></li>
                <li><a href="#">1 HTML</a></li>
                <li><a href="#">2 CSS</a></li>
                <li><a href="#">1 HTML</a></li>
                <li><a href="#">2 CSS</a></li>
                <li><a href="#">1 HTML</a></li>
                <li><a href="#">2 CSS</a></li>
                <li><a href="#">1 HTML</a></li>
                <li><a href="#">2 CSS</a></li>
                <li><a href="#">1 HTML</a></li>
                <li><a href="#">2 CSS</a></li>
                <li><a href="#">1 HTML</a></li>
                <li><a href="#">2 CSS</a></li>




         
            </ul>
     




</body>
</html>

最佳答案

<html>
	<head>
	<style type="text/css">

   

	#nav, #nav ul{
margin:0;
padding:0;
list-style-type:none;
list-style-position:outside;
position:relative;
line-height:1.5em; 
width: 100%;
overflow-x: scroll;
white-space: nowrap;
}

#nav a{
display:block;
padding:0px 5px;
border:1px solid #333;
color:#fff;
text-decoration:none;
background-color:#333;
}

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

#nav li{
display: inline-block;
position:relative;
}

#nav ul {
position:absolute;
display:none;
width:12em;
top:1.5em;
}

#nav li ul a{
width:12em;
height:auto;
float:left;
}

#nav ul ul{
top:auto;
}	

#nav li ul ul {
left:12em;
margin:0px 0 0 10px;
}

#nav li:hover ul ul, #nav li:hover ul ul ul, #nav li:hover ul ul ul ul{
display:none;
}
#nav li:hover ul, #nav li li:hover ul, #nav li li li:hover ul, #nav li li li li:hover ul{
display:block;
}




	</style>		
	</head>
	<body>
          <ul id="nav">
                <li>
                    <a href="#">3 Javascript</a>
                    <ul>
                        <li>
                            <a href="#">3.1 jQuery</a>
                            <ul>
                                <li>
                                    <a href="#">3.1.1 Download</a>
                                    <ul>
                                        <li>
                                            <a href="#">3.1.1 New Download</a>

                                        </li>
                                        <li><a href="#">3.1.2 New Tutorial</a></li>
                                    </ul>
                                </li>
                                <li><a href="#">3.1.2 Tutorial</a></li>
                            </ul>
                        </li>
                        <li><a href="#">3.2 Mootools</a></li>
                        <li><a href="#">3.3 Prototype</a></li>
                    </ul>
                </li>
                <li><a href="#">1 HTML</a></li>
                <li><a href="#">2 CSS</a></li>
                <li><a href="#">1 HTML</a></li>
                <li><a href="#">2 CSS</a></li>
                <li><a href="#">1 HTML</a></li>
                <li><a href="#">2 CSS</a></li>
                <li><a href="#">1 HTML</a></li>
                <li><a href="#">2 CSS</a></li>
                <li><a href="#">1 HTML</a></li>
                <li><a href="#">2 CSS</a></li>
                <li><a href="#">1 HTML</a></li>
                <li><a href="#">2 CSS</a></li>
                <li><a href="#">1 HTML</a></li>
                <li><a href="#">2 CSS</a></li>
                <li><a href="#">1 HTML</a></li>
                <li><a href="#">2 CSS</a></li>
                <li><a href="#">1 HTML</a></li>
                <li><a href="#">2 CSS</a></li>

                <li><a href="#">1 HTML</a></li>
                <li><a href="#">2 CSS</a></li>
                <li><a href="#">1 HTML</a></li>
                <li><a href="#">2 CSS</a></li>
                <li><a href="#">1 HTML</a></li>
                <li><a href="#">2 CSS</a></li>
                <li><a href="#">1 HTML</a></li>
                <li><a href="#">2 CSS</a></li>
                <li><a href="#">1 HTML</a></li>
                <li><a href="#">2 CSS</a></li>
                <li><a href="#">1 HTML</a></li>
                <li><a href="#">2 CSS</a></li>
                <li><a href="#">1 HTML</a></li>
                <li><a href="#">2 CSS</a></li>
                <li><a href="#">1 HTML</a></li>
                <li><a href="#">2 CSS</a></li>
                <li><a href="#">1 HTML</a></li>
                <li><a href="#">2 CSS</a></li>




         
            </ul>
     




</body>
</html>

这就是你想要的吗?

关于html - 可滚动的多级水平菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40438637/

相关文章:

jquery-ui - jquery UI selectmenu - 如何重置表单重置按钮上的下拉菜单

html - 如何在滚动时固定此菜单栏?

javascript - 如何获得 JavaScript 警报?

jquery - 使用 cookie 删除和添加类到列表项

html - 使用 CSS3 检查方 block 的匹配游戏

javascript - 如何在Javascript中打印点击事件

html - 为什么这个带有内联 block 跨度的 div 的行为与正常行为不同

html - 如何在不包括图标的菜单中将文本居中?

javascript - 如何使侧边栏导航栏默认打开

html - 创建自适应背景图像