Attribut BOX-SIZING
Rôle
L’attribut box-sizing permet de spécifier si une boite doit inclure la bordure et la marge interne lorqu’on lui donne une dimension. Dans ce cas, la largeur et la hauteur ne seront pas augmentées par la marge interne et la bordure
En effet, par défaut la dimension d’une boîte html est augmentée par l’attribut padding et l’attribut border (voir l’exemple ci-dessous)
Version : CSS3
Héritage (inherit) : non
Propriété Javascript : element.style.boxSizing
Testez vous-même cet attribut
Utilisez Codepen.
– Le code CSS
div{ width: 150px; height: 100px; margin-right: 2px; float: left; } div:nth-child(1){ background-color: silver; } div:nth-child(2){ padding: 10px; background-color: pink; } div:nth-child(3){ background-color: orange; padding: 10px; border: 5px grey solid; } div.boxSizing{ padding: 10px; background-color: pink; border: 5px grey solid; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
– Le code HTML
<div>Texte sans bordure et sans espace interne</div> <div>Texte sans bordure mais avec espace interne</div> <div>Texte avec une bordure et espace interne </div> <div class="boxSizing">Texte avec bordure et espace interne et box-sizing </div>
Résultat
Vous remarquez que la dernière boîte, avec la bordure et l’espace interne, possède les mêmes dimensions que la première
Compatibilité
L’attribut box-sizing est pris en charge par tous les principaux navigateurs
A partir de IE-8. Pour implémenter cet attribut sur un ensemble de navigateur, vous devez utilisez les préfixes -webkit- (Chrome, Safari, Android…), -moz- (Mozilla)
Valeurs
Les différentes valeurs de l’attribut box-sizing sont:
- content-box
- Valeur par défaut : les propriétés width et height vont inclure uniquement le contenu. La bordure et la marge interne ne sont pas inclues.
Syntaxe :
box-sizing : content-box
- border-box
- les propriétés width et height vont inclure le contenu, la bordure et la marge interne.
Syntaxe :
box-sizing : border-box
- initial
- Défini à sa valeur initiale (attention pas pris en charge par Internet Explorer et Opéra en dessous de la version 15). Peut être utilisé pour « neutraliser » une spécificité.
Syntaxe :
box-sizing : initial
- inherit
- Hérite de la même propriété que l’élément parent.
Syntaxe :
box-sizing : inherit
A voir aussi
border box-sizing clip height width margin padding overflow max-width min-width outline resize