2 つの固定サイズの要素と 1 つの流動サイズの要素を持つコンテナーがあります。ブラウザーのサイズが変更されると、fluid 要素はウィンドウの残りのサイズを使用し、他の 2 つの要素は固定されたままになります。問題は、コンテナー内の入力要素の後に挿入される 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コンテナーにラッパーを追加しようとしましたが、機能しませんでした。
アップデート:
動作するようになりました。コンテナーを作成し、そのコンテナーを position: relative に設定する必要がありました。