我正在使用一些标记进行下拉菜单。
标记如下:
<div class="select">
<a href="#" class="anchor menu-active">
<label>val1</label><span class="arrow"><label></label></span>
</a>
<div class="container menu-visible">
<ul>
<li>
<a value="val1" class="item-selected">val1</a>
</li>
<li>
<a value="val2333333333">val2333333333</a>
</li>
</ul>
</div>
</div>
第一个a
表示菜单项,container
div表示子菜单项列表。
我需要做什么:container
和anchor
的宽度必须相同。子菜单可能比锚更宽,反之亦然。此外,宽度不应受到人为限制,应允许随着更宽的内容进行扩展,无论是anchor
还是container
。
这是我一直在玩的CSS,但似乎无法让anchor
扩展到适合container
:
.container{
position: absolute;
}
.anchor{
font-weight: bold;
}
li{
background: blue;
}
ul{
display: inline-block;
}
.select{
background: red;
display: inline-block;
}
小提琴:http://jsfiddle.net/MxdQS/
我希望只在可能的情况下使用CSS,所以请不要使用javascript解决方案:)
这是一个更好地展示我所说的内容的图表:
一些澄清: 如果我有2个不同宽度的容器,1个绝对定位,我怎样才能将它们匹配在一起,这样较短的容器将始终扩展到较长容器的宽度?
有人可以就如何做到这一点提出建议吗?