我使用此处提出的行高方法将文本框与其标签对齐。我并没有简单地使用 width 属性,因为我希望它能够在标签文本发生变化时动态调整。为了让 Firefox(没有尝试过其他浏览器)将行高应用到带有输入的列,我不得不使用这个 hack(注意<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/