Cela fonctionne, sans ajouter de divs supplémentaires (il est vrai il y a une durée supplémentaire (.errorMsg
) pour contenir le message d'erreur:.
utilisant XHTML 1.0 doctype strict
<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>
Il convient de noter que la largeur du .errorMsg
est de 51%, pas de 50%, pour accommoder les bordures de l'entrée (étant ajouté à la largeur de 50% définie dans le CSS), mais ce n'est peut-être que FF3.x sur Ubuntu 8.04. Je ne suis pas testé de manière exhaustive, ou bien je crains ... YM, comme toujours, MV
Démonstration à: http://www.davidrhysthomas.co.uk/so/errorLabels.html.
Le lien d'image est mort rendant la question peu claire. –