子菜单飞出并粘在页面顶部的垂直菜单
vertical menu where submenu flys out and sticks to top of page
我正在构建一个垂直菜单,并希望子菜单项在悬停时飞出。我有那个工作。
但是,我希望子菜单始终位于页面顶部。我已将 position: absolute 属性 添加到我的 css,但它不起作用。
这是我现在拥有的:
https://jsfiddle.net/bdsr4ypo/
代码也在下面。
我找到了一个 jsfiddle,它完全符合我的要求:
http://jsfiddle.net/framj00/ykn2dyf0/
但是在花了两个小时更改 CSS 后,我无法让我的菜单遵循这种风格。
如有任何帮助,我们将不胜感激。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style>
#nav .opener {
display: none;
}
ul li{
list-style-type: none;
list-style-image: none;
}
#nav {
width: 600px;
position: fixed;
top: 0;
right: 0;
padding-top: 0px;
z-index: 9999;
height: 100%;
}
#nav ul {
background: #4f626b;
width: 300px;
height: 100%;
position: absolute;
right: 0px;
margin-top: 0px;
z-index: 999999;
}
/* Hover dropdown */
#nav ul li {
position: relative;
}
#nav ul li a{
color:#fff;
}
#nav ul li ul {
display: none;
}
#nav ul li:hover ul {
display: block;
top: 0;
left: -380px;
height:100%;
}
</style>
</head>
<body>
<!-- nav -->
<div id="nav" class="open-close">
<nav role="navigation">
<ul id="navo" class="menu nav navbar-nav">
<li class="button"><span class="nolink">Menu</span></li>
<li class="button"><a href="#">title one</a>
<ul class="flyout-menu">
<li><a href="#">section one sub-title one</a></li>
<li><a href="#">section one sub-title two</a></li>
<li><a href="#">section one sub-title three</a></li>
</ul>
</li>
<li class="button"><a href="#">title two </a>
<ul class="flyout-menu">
<li><a href="#">section 2 sub-title one</a></li>
<li><a href="#">section 2 sub-title two</a></li>
<li><a href="#">section 2 sub-title three</a></li>
</ul>
</li>
<li class="button"><a href="#">title three</a>
<ul class="flyout-menu">
<li><a href="#">section 3 sub-title one</a></li>
<li><a href="#">section 3 sub-title two</a></li>
<li><a href="#">section 3 sub-title three</a></li>
</ul>
</li>
<li class="button"><a href="#">title four</a>
<ul class="flyout-menu">
<li><a href="#">sub-title one</a></li>
</ul>
</li>
<li class="button"><a href="#">title five</a>
<ul class="flyout-menu">
<li><a href="#">section five sub-title one</a></li>
<li><a href="#">section five sub-title two</a></li>
<li><a href="#">section five sub-title three</a></li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>
我已经更新了你的fiddle
这是你想要的吗?
#nav .opener {
display: none;
}
ul li {
list-style-type: none;
list-style-image: none;
}
#nav {
width: 600px;
position: fixed;
top: 0;
right: 0;
padding-top: 0px;
z-index: 9999;
height: 100%;
}
#nav ul {
background: #4f626b;
width: 300px;
height: 100%;
position: absolute;
right: 0px;
margin-top: 0px;
z-index: 999999;
padding: 0;
}
/* Hover dropdown */
#nav ul li {
/* position: relative; */ // removed
padding-left: 40px; //added
}
#nav ul li a {
color: #fff;
}
#nav ul li ul {
display: none;
}
#nav ul li:hover ul {
display: block;
top: 0;
left: -100%; //changed to -100%
height: auto; //changed to auto
}
我正在构建一个垂直菜单,并希望子菜单项在悬停时飞出。我有那个工作。 但是,我希望子菜单始终位于页面顶部。我已将 position: absolute 属性 添加到我的 css,但它不起作用。 这是我现在拥有的: https://jsfiddle.net/bdsr4ypo/
代码也在下面。
我找到了一个 jsfiddle,它完全符合我的要求: http://jsfiddle.net/framj00/ykn2dyf0/ 但是在花了两个小时更改 CSS 后,我无法让我的菜单遵循这种风格。
如有任何帮助,我们将不胜感激。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style>
#nav .opener {
display: none;
}
ul li{
list-style-type: none;
list-style-image: none;
}
#nav {
width: 600px;
position: fixed;
top: 0;
right: 0;
padding-top: 0px;
z-index: 9999;
height: 100%;
}
#nav ul {
background: #4f626b;
width: 300px;
height: 100%;
position: absolute;
right: 0px;
margin-top: 0px;
z-index: 999999;
}
/* Hover dropdown */
#nav ul li {
position: relative;
}
#nav ul li a{
color:#fff;
}
#nav ul li ul {
display: none;
}
#nav ul li:hover ul {
display: block;
top: 0;
left: -380px;
height:100%;
}
</style>
</head>
<body>
<!-- nav -->
<div id="nav" class="open-close">
<nav role="navigation">
<ul id="navo" class="menu nav navbar-nav">
<li class="button"><span class="nolink">Menu</span></li>
<li class="button"><a href="#">title one</a>
<ul class="flyout-menu">
<li><a href="#">section one sub-title one</a></li>
<li><a href="#">section one sub-title two</a></li>
<li><a href="#">section one sub-title three</a></li>
</ul>
</li>
<li class="button"><a href="#">title two </a>
<ul class="flyout-menu">
<li><a href="#">section 2 sub-title one</a></li>
<li><a href="#">section 2 sub-title two</a></li>
<li><a href="#">section 2 sub-title three</a></li>
</ul>
</li>
<li class="button"><a href="#">title three</a>
<ul class="flyout-menu">
<li><a href="#">section 3 sub-title one</a></li>
<li><a href="#">section 3 sub-title two</a></li>
<li><a href="#">section 3 sub-title three</a></li>
</ul>
</li>
<li class="button"><a href="#">title four</a>
<ul class="flyout-menu">
<li><a href="#">sub-title one</a></li>
</ul>
</li>
<li class="button"><a href="#">title five</a>
<ul class="flyout-menu">
<li><a href="#">section five sub-title one</a></li>
<li><a href="#">section five sub-title two</a></li>
<li><a href="#">section five sub-title three</a></li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>
我已经更新了你的fiddle
这是你想要的吗?
#nav .opener {
display: none;
}
ul li {
list-style-type: none;
list-style-image: none;
}
#nav {
width: 600px;
position: fixed;
top: 0;
right: 0;
padding-top: 0px;
z-index: 9999;
height: 100%;
}
#nav ul {
background: #4f626b;
width: 300px;
height: 100%;
position: absolute;
right: 0px;
margin-top: 0px;
z-index: 999999;
padding: 0;
}
/* Hover dropdown */
#nav ul li {
/* position: relative; */ // removed
padding-left: 40px; //added
}
#nav ul li a {
color: #fff;
}
#nav ul li ul {
display: none;
}
#nav ul li:hover ul {
display: block;
top: 0;
left: -100%; //changed to -100%
height: auto; //changed to auto
}