Ok, nous savons donc que la définition du remplissage sur un objet entraîne une modification de sa largeur même si elle est définie explicitement. Bien que l'on puisse discuter de la logique derrière cela, cela pose des problèmes avec certains éléments.
Dans la plupart des cas, vous ajoutez simplement un élément enfant et ajoutez un remplissage à celui-ci au lieu de celui défini à 100%, mais pour les entrées de formulaire, ce n'est pas une étape possible.
Jetez un œil à ceci: http://sandman.net/test/formcss.html
La deuxième entrée a son remplissage réglé à 5px, ce que je préfère de beaucoup au paramètre par défaut. Mais malheureusement, cela fait augmenter l'entrée de 10 pixels dans toutes les directions, y compris l'ajout de 10 pixels à la largeur de 100%.
Le problème ici est que je ne peux pas ajouter d'élément enfant à l'intérieur de l'entrée, donc je ne peux pas le réparer. La question est donc:
Existe-t-il un moyen d'ajouter un remplissage à l'intérieur de l'entrée tout en conservant la largeur à 100%? Il doit être à 100% car les formulaires seront rendus dans des parents de largeur différente, donc je ne connais pas à l'avance la largeur du parent.
box-sizing
attribut CSS3