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é

navigateur-chromenavigateur-firefoxnavigateur-ienavigateur-safarinavigateur-opera

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