1
我試圖做一個3級ul li菜單,採取容器的100%寬度,但兒童ul去父母級別下。菜單3級別只水平的HTML/CSS/JavaScript + pushcontent
This is a screen what i'm trying to achieve.
#fakeheader,
#fakecontent{
width:100%
height:50px;
background:red;
position:relative
}
#nav {position: relative;}
#nav li {
list-style:none;
float: left;
}
#nav li a {
display: block;
padding: 8px 12px;
text-decoration: none;
}
#nav li a:hover {
\t background-color:red;
\t color:#FFF;
\t opacity:1;
}
/* Targeting the first level menu */
#nav {
min-width:850px;
background:#fff;
opacity:0.5;
display: block;
height: 34px;
z-index: 100;
position: relative;
}
#nav > li > a {
}
/* Targeting the second level menu */
#nav li ul {
color: #333;
display: none;
position: absolute;
width:850px;
}
#nav li ul li {
display: inline;
}
#nav li ul li a {
background: #fff;
border: none;
line-height: 34px;
margin: 0;
padding: 0 8px 0 10px;
}
#nav li ul li a:hover {
background-color:red;
color:#FFF;
opacity:1;
}
/* Third level menu */
#nav li ul li ul{
top: 0;
}
ul.child {
background-color:#FFF;
}
/* A class of current will be added via jQuery */
#nav li.current > a {
background: #f7f7f7;
float:left;
}
/* CSS fallback */
#nav li:hover > ul.child {
left:0;
top:34px;
display:inline;
position:absolute;
text-align:left;
}
#nav li:hover > ul.grandchild {
display:block;
}
<div id="fakeheader">Test
</div>
<ul id="nav">
<li>
<a href="#">Products</a>
<ul class="child">
<li><a href="#">Speakers</a>
<ul class="child">
<li><a href="#">10 watt</a></li>
<li><a href="#">20 watt</a></li>
<li><a href="#">30 watt</a></li>
</ul>
</li>
<li><a href="#">Speakers</a>
<ul class="child">
<li><a href="#">10 watt</a></li>
<li><a href="#">20 watt</a></li>
<li><a href="#">30 watt</a></li>
</ul>
</li>
</ul>
</li>
<li>
<a href="#">Products</a>
<ul class="child">
<li><a href="#">Speakers</a>
<ul class="child">
<li><a href="#">10 watt</a></li>
<li><a href="#">20 watt</a></li>
<li><a href="#">30 watt</a></li>
</ul>
</li>
<li><a href="#">Speakers</a>
<ul class="child">
<li><a href="#">10 watt</a></li>
<li><a href="#">20 watt</a></li>
<li><a href="#">30 watt</a></li>
</ul>
</li>
</ul>
</li>
</ul>
<div id="fakecontent">
test
</div>
也是它可能然後推,這將是菜單下的內容?
在此先感謝您的幫助和抱歉,我的英文不好:P
問候
我更新了我的代碼在的jsfiddle我設法使三級工作,但現在我阻止在第二或第三級顯示時推送內容。 https://jsfiddle.net/v8xLmbrt/2/你有想法嗎? –
https://jsfiddle.net/v8xLmbrt/3/ –
第二和第三級別都是絕對定位的,所以它們的容器不會調整大小並將內容壓低,我認爲您需要一些jQuery代碼來實現這一點 – Joint