Ok, nous savons donc que le fait de définir un remplissage à un objet entraîne une modification de sa largeur même s'il est défini explicitement. Bien que l'on puisse argumenter sur la logique derrière cela, cela cause des problèmes avec certains éléments.Rembourrage à l'intérieur des ruptures des ruptures 100%
Dans la plupart des cas, vous ajoutez simplement un élément enfant et ajoutez un remplissage à celui-ci au lieu de 100%, mais pour les entrées de formulaire, ce n'est pas une étape possible.
Jetez un oeil à ceci: http://sandman.net/test/formcss.html
La deuxième entrée a son rembourrage réglé sur 5px que je préfère de beaucoup le réglage par défaut. Mais malheureusement, cela fait croître l'entrée de 10px dans toutes les directions, y compris en ajoutant 10px à la largeur de 100%.
Le problème ici est que je ne peux pas ajouter un élément enfant à l'intérieur de l'entrée, donc je ne peux pas le réparer. Donc la question est:
Y at-il un moyen d'ajouter un rembourrage à l'intérieur de l'entrée tout en gardant la largeur de 100%? Il faut être à 100% puisque les formes seront rendues en parents de largeur différente donc je ne connais pas la largeur du parent à l'avance.
Voir http://stackoverflow.com/questions/628500/can-i-stop-100-width-text-boxes-from-extending-beyond-their-containers/628912#628912 pour savoir comment utiliser le CSS3 ' Attribut box-sizing' –
Il suffit de dire merci d'avoir gardé votre page d'exemple tout le temps. Me rend fou quand quelqu'un publie une URL dans la question et il est en panne après la réponse est répondue ou ils n'utilisent pas quelque chose comme jsfiddle. –
Concernant l'utilisation de l'attribut box-sizing; mon problème était le même problème, mais avec la hauteur de mise en hauteur à 100% seul signifie hauteur + bordure + remplissage = hauteur du conteneur. Pour obtenir l'entrée pour avoir la hauteur réelle du conteneur, j'ai simplement besoin d'utiliser la taille de boîte : boîte de contenu. – Skychan