输入框填满可用空间?

时间:2012-10-09 11:06:41

标签: html css

我想设置此字段的 fieldset 的宽度,然后让包装器和输入框流畅以占用可用空间。

这是我在这方面得到了多少帮助:

.lft { float: left; }
ul, li { list-style-type: none; vertical-align:middle; }
.ts3 { font-size: 15px; }
.dc3 { background-color: #808080; }
.tc5 { color: #333333; }
.p4 { padding: 4px; }
.r2 { border-radius: 2px; -moz-border-radius: 2px; -webkit-border-radius: 2px; }
.r6 { border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px; }
.field { line-height:27px; font-family:arial, sans-serif; border-color: #d9d9d9; border-top:solid 1px #c0c0c0; }
input.field{width:100%}
.fieldwrapper{display:inline-block; width:100%}
label{width:300px; display:inline-block; }
<ul>
    <li>
<div class="r6 dc3 ts2 p4">
<label field_id="None" for="sender">Sender email address</label>
<div class="fieldwrapper">
<input class="field" placeholder="Email" type="text" value="">
</div>
</div>
</li></ul>

当我将包装器设置为100%时,它会向整个方向延伸,而不是整个方向减去 fieldset 的宽度。

这就是我想要的流体宽度网站: fieldset

输入框是否填满了可用空间?

3 个答案:

答案 0 :(得分:1)

添加

input.field{width:100%}
.fieldwrapper{display:inline-block; width:70%}
label{width:25%; display:inline-block; }​

您可以相应地调整标签的宽度和输入。

演示http://jsfiddle.net/cskQ8/38/


新更新

input.field{width:100%}
.fieldwrapper{ padding: 0 5px 0 0;
    overflow: hidden;}
label{width:200px; display:inline-block; float:left}​

检查更新的演示here

答案 1 :(得分:1)

是的,当然你已经将按钮从文档流中取出来了。您必须在容器上为输入(而不是fieldwrapper)设置正确的填充,以弥补其右侧的元素。

 .containingDiv{padding-right:75px;}
 .fieldwrapper{width:100%;}

答案 2 :(得分:0)

如果您现在以更加语义的方式构建CSS和标记,未来您将非常感激。定义列表是一个合适的起点:

<dl class="form-container clearfix">
  <dt><label for="sender">Sender email address</label></dt>
  <dd><input placeholder="Email" type="text" value="" /></dd>
</dl>

和CSS(记得包含一个clearfix):

.form-container { /*just whatever styles you had applied*/}

/*label container, fixed width*/
.form-container>dt {float:left; width:150px;}

/*input container, defaults to width:auto*/
.form-container>dd { margin-left:150px; }

/*box-sizing property is the best thing since sliced bread*/
.form-container input[type=text] {width:100%;box-sizing:border-box;padding:4px;}

Fiddled,尝试调整结果框架的大小,看看它有多流畅!