Мой код выглядит так:
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;
}
Ответы:
Вам нужно поместить их оба в какой-либо элемент контейнера, а затем применить к нему выравнивание.
Например:
.formfield * { vertical-align: middle; }
<p class="formfield"> <label for="textarea">Label for textarea</label> <textarea id="textarea" rows="5">Textarea</textarea> </p>
источник
vertical-align: middle;
каждое из ваших правил выше,.DataForm label
и.DataForm textarea
. Использование селектора * может иногда иметь побочные эффекты.vertical-align: middle
то хочет что-то, обычно лучше применять это ко всему блоку.Просто оберните текстовое поле меткой и установите стиль текстового поля на
vertical-align: middle;
Вот волшебство для всех текстовых полей на странице :)
<style> label textarea{ vertical-align: middle; } </style> <label>Blah blah blah Description: <textarea>dura bura</textarea></label>
источник
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>
источник
Используйте
vertical-align:middle
в своем CSS.<table> <tr> <td style="vertical-align:middle">Description:</td> <td><textarea></textarea></td> </tr> </table>
источник
Выровняйте поле текстовой области по метке, а не метку по текстовой области,
label { width: 180px; display: inline-block; } textarea{ vertical-align: middle; } <label for="myfield">Label text</label><textarea id="myfield" rows="5" cols="30"></textarea>
источник
Попробуй это:
textarea { vertical-align: top; }
источник
Попробуйте установить высоту элементов td.
vertical-align: middle;
означает, что элемент, к которому применяется стиль, будет выровнен внутри родительского элемента. Высота td может быть равна высоте текста внутри.
источник