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 要素をターゲットにして、テキストエリアの上部に合わせて表示する方法はありますか? 理想的には、HTML を変更する必要はありません (これは ASP.NET MVC によって自動生成されるため)。