我正在尝试为我的 ASP.NET MVC 3 应用程序生成的表单 HTML 设置样式。使用默认样式,标签堆叠在输入控件的顶部,如下所示:
我已经更改了 css,使标签位于输入控件的左侧,如下所示:
但是,当输入控件是文本区域并且显示验证消息时,我遇到了问题:
如您所见,验证消息与文本区域的底部对齐。我希望它与文本区域的顶部对齐。
这是 MVC 脚手架生成的 HTML 的一个很好的近似值(结构相同,但我省略了一些 HTML 属性):
<Fieldset>
<Legend>Form Title</Legend>
<div class="editor-label">
<label>Town / City</Label>
</div>
<div class="editor-field">
<textArea></textArea>
<span class="field-validation-error">
<span>The town / city field is required</span>
</span>
</div>
</Fieldset>
这是我目前的CSS:
.editor-label {
margin: .8em 0 0 .5em;
clear: left;
float:left;
width: 160px;
}
.editor-field {
margin: .5em 0 0 0;
float: left;
}
我尝试添加一个样式,该样式以<span>
和 的类为目标field-validation-error
,并将<textarea>
其display
属性设置为,inline-block
但这不会改变验证错误的显示方式。
.field-validation-error {
color: #FF0000;
display: inline-block;
}
textarea {
font: inherit;
min-height: 75px;
display: inline-block;
}
有没有办法定位 span 元素并与 textarea 的顶部对齐显示?理想情况下,我不想更改 HTML(因为这是由 ASP.NET MVC 自动生成的)。