您可以使用flex
完成所需的行爲。
HTML結構(這只是一個方法)
<div id="container">
<div class="form-container">
<form>
<div class="column">
<label for="text1">This is a label</label>
<label for="text2">Label</label>
<label for="text3" style="flex-grow:2;">Another larger label :D</label>
<label for="text4">A short one!</label>
</div>
<div class="column">
<input type="text" name="text1" />
<input type="text" name="text2" />
<textarea name="text4" style="flex-grow:2;"></textarea>
<input type="text" name="text3" />
</div>
</form>
</div>
</div>
CSS:
#container {
text-align: center;
}
#container .form-container {
display: inline-block;
}
#container form {
background: #eee;
display: flex;
flex-direction: row;
flex-wrap: nowrap;
padding: 20px;
}
#container form .column {
display: flex;
flex-direction: column;
flex-wrap: nowrap;
}
#container form .column label {
padding: 2px;
text-align: right;
}
#container form .column input,
#container form .column textarea {
align-self: flex-start;
width: 200px;
}
這裏是一個工作演示:http://jsfiddle.net/gopafm4g/2/
我會說你應該對準一切的權利,你是否有一個jfiddle – bbvanee 2015-03-02 14:52:46
['display:table'](https://css-tricks.com/almanac/properties/d/display/) - 將一個div變成表格:) – Pete 2015-03-02 14:56:47
從來沒有一個大的fa把div變成表格。那時候,我認爲最好只使用一張桌子。無論如何,我喜歡把所有東西都對齊的想法。那是我最初的想法之一,我想我會繼續這樣做。謝謝。 – HartleySan 2015-03-02 15:51:37