У меня есть код HTML ниже. Я пытаюсь выровнять текстовые поля, чтобы они выстроились один за другим. У меня есть CSS ниже. Не успешный. Обратите внимание, что.Label и.TextBoxFor просто создают и помещают ярлык и текстовое поле.
<div style="text-align: left; width: 1000px">
<fieldset>
<legend>Information</legend>
<div class="form-element-row">
@Html.Label("Collector")
@Html.TextBoxFor(model => model.Collector)
</div>
<div style="clear:both"></div>
<div class="form-element-row">
@Html.Label("Email")
@Html.TextBoxFor(model => model.Email)
</div>
</fieldset>
Вот css
.form-element-row
{
float: left;
}
.form-element-row label
{
margin: 0px;
min-width: 400px;
}
.form-element-row input
{
margin: 0px;
width: 500px;
}
Самый простой способ - использовать таблицу. Таким образом вам не придется беспокоиться о каких-либо выравниваниях. Вы можете сделать это следующим образом:
<div style="text-align: left; width: 1000px">
<fieldset>
<legend>Information</legend>
<table>
<tr>
<td style ="width:30%;">
XXX
</td>
<td>
<input type="textbox"/>
</td>
</tr>
<tr>
<td>
YyYY
</td>
<td>
<input type="textbox"/>
</td>
</tr>
</table>
</fieldset>
</div>
Попробуйте отобразить свои формы в виде элементов списка, например:
.form-element-row label, .form-element-row textarea {
display: list-item;
list-style: none;
}