我正在制作一个导航栏,其中的孩子将在不同的框中显示,就像http://www.boffi.com/EN/Collections/bathrooms/b14.aspx一样。我设法使用绝对定位来分离孩子,但是不能让子元素背景具有100%的高度。它是一个列表元素,所以如果我把高度:100%,底部的两个主要导航元素消失。请帮忙!这是我的HTML:
<ul id="mainmenu">
<li id="liHome" class="active">
<a href="#item-x1y1" class="panel" rel="none" id="Home">Home</a>
</li>
<li id="liServices" class=" ">
<a href="#item-x1y2" class="panel" rel="SubMenuY2" id="Services">Services</a>
<div class="child">
<ul style="" id="SubMenuY2" class="submenu">
<li><a href="#">Sub-item 1</a></li>
<li><a href="#">Sub-item 2</a></li>
</ul>
</div>
</li>
<li id="liEnvironment">
<a href="#item-x1y3" class="panel" rel="none" id="Environment">Environment</a>
</li>
<li id="liCareer">
<a href="#item-x1y4" class="panel" rel="none" id="Career">Career</a>
</li>
<li id="liContact">
<a href="#item-x1y5" class="panel" rel="none" id="Contact">Contact</a>
</li>
</ul>
和css
body, html{
height:100%;
}
#mainmenu{
background:black;
color: white;
width:130px;
position:relative;
top:0;
height:100%
}
#mainmenu li a {
color:white;
}
ul.submenu{
position:absolute;
background:blue;
width:130px;
}
div.child{
position:relative;
margin-left:130px;
}
非常感谢你的帮助。
答案 0 :(得分:3)
我简化了你的代码......好吧我实际上刚刚用div
删除class="child"
,因为你并不真的需要它。
然后,我所做的就是:
ul.submenu{
position:absolute;
left: 130px; top: 0;
background:blue;
width:130px;
height: 100%;
}
看看小提琴:http://jsfiddle.net/joplomacedo/rqqju/
这是你想要的吗?