--- title: box-sizing slug: Web/CSS/box-sizing tags: - CSS - CSS Property - Reference translation_of: Web/CSS/box-sizing ---
{{CSSRef}}

La propietat CSS box-sizing s'utilitza per modificar el model de caixa CSS predeterminat usat per calcular l'amplada i l'alçada dels elements.

/* Keyword values */
box-sizing: content-box;
box-sizing: border-box;

/* Global values */
box-sizing: inherit;
box-sizing: initial;
box-sizing: unset;

En CSS, de manera predeterminada, l'amplada i l'alçada que s'assigna a un element només s'aplica a la caixa de contingut de l'element. Si l'element té qualsevol vora o farcit, aquest s'afegeix a l'amplada i alçada per arribar a la grandària de la caixa que es representa en la pantalla. Això significa que quan fixeu l'amplada i l'alçada, heu d'ajustar el valor que dóna per permetre qualsevol vora o farcit que pugui ser afegit. Això és especialment difícil quan s'implementa un disseny sensible.

La propietat box-sizing es pot utilitzar per ajustar aquest comportament:

Alguns experts recomanen que els desenvolupadors web considerin aplicar rutinariament box-sizing: border-box a tots els elements.

{{EmbedLiveSample("box-sizing", 1200, 340, "", "", "example-outcome-frame")}}

L'exemple anterior mostra tres escenaris. En cada escenari hi ha un DIV pare (amb una vora taronja) que conté un DIV fill. El fill té fixat un width: 100%  i un fons blau pàl·lid.

{{cssinfo}}

Sintaxi

La propietat box-sizing s'especifica com una paraula clau única seleccionada de la llista de valors a continuació.

Valors

content-box
Aquest és el valor inicial i predeterminat especificat per l'estàndard CSS. Les propietats {{Cssxref("width")}} i {{Cssxref("height")}} es mesuren incloent només el contingut, però no el farciment, la vora o el marge. Per exemple, si establiu .box {width: 350px;}, apliqueu {border: 10px solid black;} , llavors el resultat representat és una caixa de width: 370px.
Aquí les dimensions de l'element es calculen com: amplària = amplària del contingut, i alçada = alçada del contingut (excloent els valors de vora i farciment).
border-box
Les propietats {{Cssxref("width")}} i {{Cssxref("height")}} inclouen el contingut, el farciment i la vora, però no el marge. Note that padding and border will be inside of the box e.g. .box {width: 350px; border: 10px solid black;} leads to a box rendered in the browser of width: 350px. The content box can't be negative and is floored to 0, making it impossible to use border-box to make the element disappear.
Aquí les dimensions de l'element es calculen com: amplària = vora + farciment + amplària del contingut, i alçada = vora + farciment + alçada del contingut.

Sintaxi formal

{{csssyntax}}

Exemple

HTML

<div class="content-box">Content box</div>
<br>
<div class="border-box">Border box</div>

CSS

div {
  width: 160px;
  height: 80px;
  padding: 20px;
  border: 8px solid red;
  background: yellow;
}

.content-box {
  box-sizing: content-box;
}

.border-box {
  box-sizing: border-box;
}

Resultat

{{EmbedLiveSample('Exemple','auto','300')}}

Especificacions

Especificació Estat Comentari
{{SpecName('CSS3 Basic UI', '#box-sizing', 'box-sizing')}} {{Spec2('CSS3 Basic UI')}} Definició inicial.
{{CompatibilityTable}}
Descripció Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Suport bàsic 1.0 {{property_prefix("-webkit")}}[1]
10.0
{{CompatVersionUnknown}}{{property_prefix("-webkit")}}
{{CompatVersionUnknown}}

{{CompatGeckoDesktop("1.0")}}{{property_prefix("-moz")}}[1]
{{CompatGeckoDesktop("29.0")}}[2]

8.0[1]

7.0 3.0 (522){{property_prefix("-webkit")}}
5.1[3]
padding-box{{non-standard_inline}} {{deprecated_inline}} {{CompatNo}} {{CompatNo}} {{CompatGeckoDesktop("1.0")}}{{property_prefix("-moz")}}[1]
{{CompatGeckoDesktop("29.0")}}
Eliminat a {{CompatGeckoDesktop("50.0")}}
{{CompatNo}} {{CompatNo}} {{CompatNo}}
Descripció Android Edge Firefox Mobile (Gecko) IE Phone Opera Mobile Safari Mobile
Suport bàsic 2.1{{property_prefix("-webkit")}}[1]
4.0
{{CompatVersionUnknown}}{{property_prefix("-webkit")}}
{{CompatVersionUnknown}}
{{CompatGeckoMobile("1.0")}}{{property_prefix("-moz")}}[1]
{{CompatGeckoMobile("29.0")}}[2]
9.0 {{CompatVersionUnknown}} {{CompatVersionUnknown}}
padding-box{{non-standard_inline}} {{deprecated_inline}} {{CompatNo}} {{CompatNo}} {{CompatGeckoMobile("1.0")}}{{property_prefix("-moz")}}[1]
{{CompatGeckoMobile("29.0")}}
Eliminat a {{CompatGeckoMobile("50.0")}}
{{CompatNo}} {{CompatNo}} {{CompatNo}}

[1] box-sizing no es respectat quan l'alçada es calcula a partir de {{domxref("window.getComputedStyle()")}}, en Internet Explorer (totes les versions), en Firefox anterior a la 23, i en Chrome. Edge no presenta el problema. Tingueu en compte que la propietat currentStyle retorna el valor correcte de height.

[2] A més del suport no prefixat, Gecko 44.0 {{geckoRelease("44.0")}} va afegir suport per a una versió prefixada -webkit de la propietat per raons de compatibilitat web darrere de la preferència layout.css.prefixes.webkit, per defecte a false. Des de Gecko 49.0 {{geckoRelease("49.0")}} la preferència per defecte és true.

[3] El prefix de proveïdor -webkit s'ha eliminat a 534.12.

Vegeu també