我有一个容器,它有两个固定大小的元素和一个流体大小的元素。当浏览器调整大小时,流体元素采用窗口的剩余大小,而其他两个保持固定。问题是,我有一个 ul 被插入到容器中的输入元素之后。如何使 ul 列表在宽度方面成为输入元素的大小?
jsfiddle:http: //jsfiddle.net/vR7E8/
代码:
<div class="wrap">
<div class="left">
</div>
<div class="middle">
<input class="my_input" />
<ul class="my_list">
<li> list one</li>
<li> two </li>
<li> three </li>
<li> four </li>
</ul>
</div>
<div class="right">
</div>
</div>
CSS:
.wrap
{
display: block;
width: 100%;
height: 100px;
background: yellow;
padding-left: 40px;
padding-right: 50px;
position: relative;
}
.left
{
display: inline;
width: 30px;
height: 100px;
background: blue;
}
input.my_input
{
width: 100%;
height: 100px;
display:inline-block;
}
.right
{
display: inline;
background: green;
width: 40px;
height: 100px;
}
.my_list
{
list-style: none;
padding: 0;
margin: 0;
position: absolute;
width: 100%;
border: 1px solid black;
}
顺便说一句,ul 列表需要绝对定位,因为我不希望它移动它下面的内容。
此外,它将列表的宽度设置为父级的大小,所以我尝试向 div 容器“中间”添加一个包装器,但没有用。
更新:
好的,我让它工作,我只需要制作一个容器,并将该容器设置为位置:相对。