J'ai un div pour lequel je veux spécifier une largeur et une hauteur FIXES, ainsi qu'un remplissage qui peut être modifié sans diminuer la largeur / hauteur originale de la DIV ou l'augmenter, y a-t-il une astuce CSS pour cela, ou une alternative utilisant le remplissage?
93
Déclarez cela dans votre CSS et vous devriez être bon:
Cette solution peut être mise en œuvre sans utiliser de wrappers supplémentaires.
Cela forcera le navigateur à calculer la largeur en fonction de la largeur "externe" du div, cela signifie que le remplissage sera soustrait de la largeur.
la source
On dirait que vous cherchez à simuler le modèle de boîte IE6. Vous pouvez utiliser la propriété CSS 3 box-sizing: border-box pour y parvenir. Ceci est pris en charge par IE8, mais pour Firefox, vous devez utiliser
-moz-box-sizing
et pour Safari / Chrome, utilisez-webkit-box-sizing
.IE6 calcule déjà mal la hauteur, donc vous êtes bon dans ce navigateur, mais je ne suis pas sûr pour IE7, je pense qu'il calculera la hauteur de la même manière en mode bizarreries.
la source
essayez cette astuce
cela forcera le navigateur à calculer la largeur selon la largeur "externe" du div, cela signifie que le remplissage sera soustrait de la largeur.
la source
Pour obtenir un résultat cohérent dans le navigateur croisé, vous en ajoutez généralement un autre
div
à l'intérieur dudiv
et ne donnez aucune largeur explicite, et amargin
. Lemargin
simulerapadding
pour le div externe.la source