【发布时间】:2013-10-07 13:05:41
【问题描述】:
我需要实现这个布局,请注意当前项,
这 3 个子列表应该是当前项的子项,
这里的问题是,如果我将位置设置为 absolute 和 left:0 和 width:100%;最大宽度将根据父级宽度确定,
所以,
如何保留子列表并让他们使用整个可用空间?
这是我现在的标记:(我可以保留它吗?)
<nav>
<ul class="main">
<li><a href="<?=base_url('grupo-cabau')?>"><?=lang('grupo-cabau')?></a></li>
<li class="active">
<a href="<?=base_url('nuestros-hoteles')?>"><?=lang('nuestros-hoteles')?></a>
<ul>
<li>
<ul>
<li>list
<ul>
<li><a href="<?=base_url('aquasol')?>">item</a></li>
<li><a href="<?=base_url('bahia')?>">item</a></li>
<li><a href="#">item</a></li>
</ul>
</li>
</ul>
<ul>
<li>listt <ul>
<li><a href="#">item</a></li>
</ul>
</li>
</ul>
<ul>
<li>list
<ul>
<li><a href="#">item</a></li>
<li><a href="#">item</a></li>
<li><a href="#">item</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li><a href="<?=base_url('trabaja-con-nosotros')?>"><item</a></li>
<li><a href="<?=base_url('contacto')?>">item</a></li>
</ul>
<ul class="lang">
<li>ESP
<ul>
<li>ENG</li>
<li>DEU</li>
</ul>
</ul>
</nav>
我目前的实现(差不多):
header .wrapper > div nav ul.main > li.active > ul {
background: none repeat scroll 0 0 #FFFFFF;
display: block;
height: 141px;
left: 0;
position: absolute;
top: 60px;
width: 100%;
}
当我将 li.active 设置为 position:relative(离那里很远)时出现问题:
所以问题是,
如果父级是 position:relative,那么 position:absolute child 怎么会更大(并且 left,right 属性响应布局)???
是我唯一的机会从树中取出列表吗?
【问题讨论】:
-
你能发布你的相关 CSS(到目前为止),也许还有一个活的 jsfiddle 吗?
-
能说清楚一点吗?
-
嘿,我添加了一个您可以使用的快速 jsfidle:jsfiddle.net/DLhpB/2
-
菜单有固定宽度吗?问题是你想根据父母父母的宽度来设置宽度......这可能会变得很困难。
-
我在上面;但我正在与 sass 合作,到目前为止,这让我很头疼..