Comment faire pour obtenir l'égalité de la largeur de l'entrée et de sélectionner les champs
Sur la forme, j'ai un select et deux champs de saisie. Ces éléments sont alignés verticalement. Malheureusement, je ne peux pas obtenir la même largeur de ces éléments.
Voici mon code:
<select name="name1" style="width:198px">
<option>value1</option>
<option>value2</option>
</select><br/>
<input type="text" name="id1" style="width:193px"><br/>
<input type="text" name="id2" style="width:193px">
Pour l'exemple ci-dessus, le meilleur de la largeur pour sélectionner l'élément est 198 ou 199 px (j'ai bien essayé 193px, mais la différence est majeure). Je pense que, ça dépend de la résolution, sur différents ordinateurs et navigateurs étant donné que ces éléments n'ont pas d'égales largeurs (parfois, je pense que la différence est d'environ 1 ou 2 px). J'ai essayé de mettre ces éléments dans des div ou des lignes de la table, mais il n'aide pas.
Q: Comment pourrais-je obtenir exactement la même largeur de ces éléments?
- La même Question posée ici: stackoverflow.com/questions/895904/...
Vous devez vous connecter pour publier un commentaire.
Mise à jour de réponse
Ici est de savoir comment changer le modèle de boîte utilisé par les input/textarea/sélectionner les éléments de sorte qu'ils se comportent tous de la même façon. Vous devez utiliser le
box-sizing
propriété qui est mise en œuvre avec un préfixe pour chaque navigateurCela signifie que le 2px différence nous l'avons mentionné précédemment n'existe pas..
exemple à http://www.jsfiddle.net/gaby/WaxTS/5/
remarque: Sur IE ça fonctionne à partir de la version 8 et plus..
Original
si vous réinitialisez leur frontières puis le
select
élément sera toujours de 2 pixels de moins que leinput
éléments..exemple: http://www.jsfiddle.net/gaby/WaxTS/2/
content-box
(à l'exception de laselect
élément). Ma réponse juste dit qu'il a besoin d'utiliser le même pour tous les éléments d'entrée, parce que c'était l'OP problème.. si vous utilisezcontent-box
ouborder-box
n'est pas important.. l'important est de le rendre cohérent à travers les éléments du formulaire.J'ai essayé Gaby réponse (+1) ci-dessus, mais seulement partiellement résolu mon problème. Au lieu de cela j'ai utilisé le code CSS suivant, où le contenu-box a été changée pour border-box:
box-sizing: border-box
. Pour une bonne mise en œuvre universelle, envisagez de réglage sur le haut niveau de l'élément html et ensuite hériter vers le bas de sorte qu'il peut être facilement remplacé.Ajouter ce code dans le css:
créer une autre classe et d'augmenter la taille avec 2px
exemple