Это работает, без добавления каких-либо дополнительных элементов div (хотя по общему признанию существует дополнительный диапазон (.errorMsg
) для сообщения об ошибке:
Использование строгого типа документа XHTML 1.0.
<style>
#container
{width: 50%;
margin: 0 auto;
}
label {display: inline-block;
width: 48%;
text-align: right;
}
input {display: inline-block;
width: 50%;
}
.errorMsg
{display: block;
width: 51%;
margin: 0 0 0.5em 49%;
color: #f00;
background-color: #ffa
}
</style>
...
<div id="container">
<form>
<label for="input1">Label 1</label>
<input type="text" id="input1" name="input1" />
<span class="errorMsg">Error message</span>
<label for="input1">Label 2</label>
<input type="text" id="input2" name="input2" />
<span class="errorMsg">Error message</span>
</form>
</div>
Стоит отметить, что ширина .errorMsg
составляет 51%, а не 50%, чтобы вместить границы ввода (добавляется к ширине 50%, определенной в CSS. Это может быть просто FF3.x на Ubuntu 8.04, тем не менее. Я не тестировал исчерпывающе. Или, вообще, боюсь. YM, как всегда, MV.
Демонстрация по адресу: http://www.davidrhysthomas.co.uk/so/errorLabels.html.