表格内的文本区域和垂直对齐方式
我们有一个包含两列的表格:每行左侧有一个标签,右侧有一个输入框。 我们使用 vertical-align=text-bottom;
将标签文本的底部与输入框中文本的底部对齐。
到目前为止,一切都很好。
然而,有时我们有一个文本区域(多行)而不是输入框。左侧标签的底部与文本区域的最后行的底部对齐。
有没有办法将左侧的文本与文本区域的第一行对齐?
一个简化示例
<table class="waiFormTable">
<tr>
<td><label>Label 1:</label></td>
<td><input id="id" type="text" name="name" value="value" /></td>
</tr>
<tr>
<td><label>Label 2:</label></td>
<td><textarea id="id" type="text" name="name" value="value" /></td>
</tr>
</table>
我们定义的 CSS 中的
table.waiFormTable thead tr,
table.waiFormTable tbody tr {
vertical-align: text-bottom;
}
:在这个示例中,我希望将“Label 1:”文本底部与文本区域的第一行对齐。
We have a table with two columns: in each row there is a label on the left and an input box on the right.
We use vertical-align=text-bottom;
to align the bottom of the label text with the bottom of the text in the input boxes.
So far so good.
However, sometimes we have a textarea (multiple lines) instead of the input box. The bottom of the label on the left is aligned with the bottom of the last line of the textarea.
Is there a way to align the text on the left with the first row of the textarea?
A simplified example
<table class="waiFormTable">
<tr>
<td><label>Label 1:</label></td>
<td><input id="id" type="text" name="name" value="value" /></td>
</tr>
<tr>
<td><label>Label 2:</label></td>
<td><textarea id="id" type="text" name="name" value="value" /></td>
</tr>
</table>
in the CSS we define:
table.waiFormTable thead tr,
table.waiFormTable tbody tr {
vertical-align: text-bottom;
}
In this example I would like to have "Label 1:" text-bottom aligned with the first row of the textarea.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
事实上,当你有一个文本区域时,你想与顶部对齐。
在这种情况下应用特殊样式(例如:
labelTextarea
):
In fact, when you have a textarea, you want to align to the top.
Apply a special style (example :
labelTextarea
) in this casewith:
试试这个
向包含
textarea
的td
添加一个类为
table
、input
和设置相同的
.font
和px
>textarea在包围
textarea
的td
上设置一个vertical-align:top;
和一些padding
p>注意:您可能需要调整一两个像素。
示例: http://jsfiddle.net/jasongennaro/ccew8/
Try this
add a class to the
td
enclosing thetextarea
set the same
font
andpx
for thetable
,input
andtextarea
.set a
vertical-align:top;
and somepadding
on thetd
enclosing thetextarea
Note: you may need to adjust by a pixel or two.
Example: http://jsfiddle.net/jasongennaro/ccew8/
我建议不要使用:
vertical-align=text-bottom;
你可以使用:
margin-top= 4px;
或其他一些应该排列所有像素的像素数量第一行底部的标签。
I suggest instead of using:
vertical-align=text-bottom;
you could use:
margin-top= 4px;
or some other amount of pixels that should line up all of the labels with the bottom of the first line.