我通常将表单标记作为列表(取决于需要的类型)或一系列 div。基本上每个字段都有一个包含元素。举个简单的例子,我将在这里使用一个 div,但这通常是我不得已的包含元素:
<div class="input-text form-field">
<label for="the_element">Text Input</label>
<input id="the_element" type="text" />
</div>
这确实是最好的,因为虽然标记至少更具语义性,而且它给了我们很多可能性。
堆叠标签:
.form-field label { display: block; }
固定宽度标签:
.form-field {overflow: hidden; width: 200px;}
.form-field label {width: 40%; margin-left: 10%;}
.form-field label, .form-field input, .form-field select, .form-field textarea {float: left; width: 50%;}
这个标记也很容易让你获得 2-up 字段
标记:
<fieldset>
<legend>Name</legend>
<div class="input-text form-field">
<label for="first_name">First Name</label>
<input id="first_name" type="text" />
</div>
<div class="input-text form-field">
<label for="last_name">Last Name</label>
<input id="last_name" type="text" />
</div>
</fieldset>
CSS
fieldset {overflow: hidden;}
.form-field {overflow: hidden; width: 200px; float:left; margin-left: 20px;}
.form-field label { display: block; }
.form-field input, .form-field select .form-field textarea {display: block; width: 100%;}
你大概明白了。如果您这样做并在需要时使用实际宽度,您可以使表单完全响应。