Dot*_*t98 4 html css jquery html-table
这就是我想要完成的事情:
First Name: Textbox
Last Name: Textbox
...
more labels with unknown widths: more text boxes
Run Code Online (Sandbox Code Playgroud)
问题以上都不优雅.
我想要一个可以在我的所有网站上使用的通用CSS,在那里我可以为我的输入显示一个右对齐的标签组,如果稍后我的一个标签的文本被更改,我不需要重新部署我的整个代码只是为了改变一个darn宽度值
就像是:
<div class="labelInputArea">
<label for="userName" class="lable">User Name:</label>
<input name="userName" type="text" value="" />
</div>
<div class="labelInputArea">
<label for="password" class="lable">Password:</label>
<input name="password" type="text" value="" />
</div>
<div class="labelInputArea">
<label for="longText" class="lable">Some Long Label:</label>
<input name="longText" type="text" value="" />
</div>
Run Code Online (Sandbox Code Playgroud)
在我的.css中我会有类似的东西:
.labelInputArea
{
display:block;
}
.labelInputArea .label
{
text-align:right;
display:inline;
}
.labelInputArea input
{
text-align:left;
display:inline;
}
Run Code Online (Sandbox Code Playgroud)
听起来你基本上是在不使用表的情况下使用表格布局.在这种情况下,只使用CSS表格行/表格单元格样式可以工作:
.labelInputArea
{
display:table-row;
}
.labelInputArea label
{
text-align:right;
display:table-cell;
}
.labelInputArea input
{
text-align:left;
display:table-cell;
}
Run Code Online (Sandbox Code Playgroud)
在这里小提琴:http: //jsfiddle.net/x5c8N/
对于它的价值,我可能会坚持使用固定宽度的标签来包装它的内容,例如
.labelInputArea
{
display:block;
padding-top:5px;
}
.labelInputArea label
{
width:150px;
display:inline-block;
}
.labelInputArea input
{
vertical-align:top;
}
Run Code Online (Sandbox Code Playgroud)
因为我更喜欢在水平空间上使用垂直空间的设计,但这只是我的偏好:)