ここで提案する行の高さの方法を使用して、テキストボックスをラベルに揃えました。ラベルテキストが変更された場合に動的に調整したかったので、単にwidth属性を使用しませんでした。Firefox(他のブラウザを試したことがない)に入力を含む列に行の高さを適用させるには、このハックを使用する必要がありました(注<div class="hack">
):
HTML
<div class="textbox-column label">
<div>User Name:</div>
<div>Password:</div>
</div>
<div class="textbox-column input">
<div><div class="hack">#</div><input type="textbox" name="username" /></div>
<div><div class="hack">#</div><input type="password" name="password" /></div>
</div>
<div class="clear"></div>
CSS
div.clear {
clear: both;
}
.textbox-column {
line-height:1.6em;
}
.textbox-column.label {
float: left;
margin-right:1em;
}
.textbox-column.input {
float: right;
}
.textbox-column .hack {
display: inline;
width: 1em;
margin-right: -1em;
}
誰かがよりクリーンな解決策を提案できますか?
このコードのライブデモは次のとおりです:http://jsfiddle.net/fbe7P/