最终会像
一样 XXXXX
XXXXX
Description: XXXXX
我想要
XXXXX
Description: XXXXX
XXXXX
“描述”有时会跨越多行。
代码:
<p class="DataForm">
<label>Blah blah blah Description:</label>
<asp:TextBox ID="txtBlahblahblahDescription" runat="server" TextMode="MultiLine" Rows="8" Columns="50"></asp:TextBox><br />
</p>
CSS:
.DataForm
{
}
.DataForm label
{
display: inline-block;
font-size:small;
margin-left:5px;
width:5%;
min-width:60px;
}
.DataForm input
{
margin-right:9px;
display: inline-block;
width:21%;
min-width:30px;
}
答案 0 :(得分:102)
您需要将它们放在某个容器元素中,然后在其上应用对齐。
例如:
.formfield * {
vertical-align: middle;
}
<p class="formfield">
<label for="textarea">Label for textarea</label>
<textarea id="textarea" rows="5">Textarea</textarea>
</p>
答案 1 :(得分:14)
使用标签包裹textarea并将textarea样式设置为
vertical-align: middle;
这是页面上所有textareas的魔力:)
<style>
label textarea{
vertical-align: middle;
}
</style>
<label>Blah blah blah Description: <textarea>dura bura</textarea></label>
答案 2 :(得分:4)
height
设置为与多行文字框相同的height
。为标签控件添加cssClass .alignTop{vertical-align: middle;}
。
<p>
<asp:Label ID="DescriptionLabel" runat="server" Text="Description: " Width="70px" Height="200px" CssClass="alignTop"></asp:Label>
<asp:Textbox id="DescriptionTextbox" runat="server" Width="400px" Height="200px" TextMode="MultiLine"></asp:Textbox>
<asp:RequiredFieldValidator id="DescriptionRequiredFieldValidator" runat="server" ForeColor="Red"
ControlToValidate="DescriptionTextbox" ErrorMessage="Description is a required field.">
</asp:RequiredFieldValidator>
答案 3 :(得分:3)
在CSS中使用vertical-align:middle
。
<table>
<tr>
<td style="vertical-align:middle">Description:</td>
<td><textarea></textarea></td>
</tr>
</table>
答案 4 :(得分:1)
试试这个:
dayNight
答案 5 :(得分:1)
将文本区域框与标签对齐,而不是文本区域的标签
label{
width:180px;
display:inline-block;
}
textarea{
vertical-align:middle;
}
<label for="myfield">Label text</label><textarea id="myfield" rows="5" cols="30"></textarea>
答案 6 :(得分:0)
尝试在td元素上设置高度。
vertical-align: middle;
表示应用样式的元素将在父元素中对齐。 td的高度可能只与文本中的高度一样高。