108 votes

Comment changer un remplissage DIV sans affecter la largeur / hauteur?

J'ai une div pour laquelle je veux spécifier une largeur et une hauteur FIXED, ainsi qu'un padding qui peut être modifié sans diminuer la largeur / hauteur de la DIV d'origine, ni l'augmenter, existe-t-il une astuce CSS pour cela, ou une alternative utilisant padding?

223voto

adswebwork Points 487

Déclarez ceci dans votre css et vous devriez être bon:

  • {-moz-box-sizing: border-box; -webkit-box-dimensionnement: border-box; taille de la boîte: boîte-frontière; }

Cette solution peut être mise en œuvre sans utiliser de wrappers supplémentaires

77voto

Juraj Blahunka Points 5620

La solution consiste à envelopper votre div rembourré , avec div externe de largeur fixe

HTML

 <div class="outer">
    <div class="inner">

        <!-- your content -->

    </div><!-- end .inner -->
</div><!-- end .outer -->
 

CSS

 .outer, .inner {
    display: block;
}

.outer {
    /* specify fixed width */
    width: 300px;
    padding: 0;
}

.inner {
    /* specify padding, can be changed while remaining fixed width of .outer */
    padding: 5px;
}
 

19voto

wsanville Points 22066

On dirait que vous cherchez à simuler le modèle de boîtier IE6. Vous pouvez utiliser la propriété CSS 3 box-sizing: border-box pour y parvenir. Ceci est supporté par IE8, mais pour Firefox, vous devez utiliser -moz-box-sizing et pour Safari / Chrome, utiliser -webkit-box-sizing .

IE6 calcule déjà la hauteur de manière incorrecte, 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 quirks.

4voto

Pekka 웃 Points 249607

Pour obtenir un résultat cohérent sur tous les navigateurs, vous devez généralement ajouter un autre div à l'intérieur du div , sans donner de largeur explicite et un margin . Les margin simuleront padding pour la division externe.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X