Example of problem http://img638.imageshack.us/img638/3733/97914817.jpgtexte Harmoniser verticalement à l'intérieur d'une étiquette div
Je suis en train de recoder une de mes anciennes formes. Il était rempli de tableaux que je veux remplacer par CSS. Cependant, j'ai du mal à avoir du texte et un élément de formulaire alignés verticalement ensemble. Comme l'image montre le texte par défaut de commencer en haut au lieu de dans le milieu. Les reflets bleus autour de la rangée sont l'interprétation/la sélection de ce qui se passe.
Je possède des divs label et input, tous deux flottants à gauche, à l'intérieur d'un div appelé #light, qui se trouve dans un conteneur général. Voici à quoi ressemble mon code CSS:
#contentBox{
width: 600px;
float: left;
background-color: #e2e2e2;
overflow: auto;
border-color: #c5c5c5;
border-width: 1px;
border-style: solid;
font-size: 12px;
}
#light {
float: left;
width: 500px;
padding: 15px;
background-color: #e2e2e2;
margin: 7px;
border-color: #c5c5c5;
border-width: 1px;
border-style: solid;
vertical-align: middle;
}
input {
float: right;
width: 20em;
}
label {
float: left;
text-align: right;
vertical-align: baseline;
}
Une idée du problème? J'ai essayé d'échanger le vertical-aligner dans différents divs, flottant dans des directions différentes, se débarassant de l'étiquette mais je finis juste avec plus de problèmes plutôt que moins.
Cela résout le problème du texte n'étant pas alignés, mais maintenant la boîte de saisie sera décentrée. Pour une raison quelconque, régler la hauteur de la div d'entrée à la même chose que la hauteur de la ligne ne fonctionne pas, l'un ou l'autre sera légèrement décentré – Flarex
Imaginez que votre entrée en tant que texte de 12px, il faudra un peu de rembourrage pour avoit texte à l'intérieur de réduire avec la bordure d'entrée, donc, ajouter padding: 3px ;, puis, à une ligne-poids de 30px, vous avez toujours besoin 12px (12px + 3px + 3px = 18px) ajouter par exemple marge: 6px 0; (si vous avez besoin, va poster un échantillon de travail! – Zuul