Saltar al contenido

Propiedad CSS box-sizing

La propiedad box-sizing define el cálculo del ancho y alto de un elemento, si incluyen relleno y bordes.

La propiedad box-sizing es una de las propiedades de CSS3.

El ancho y el alto de un elemento, por defecto, se calculan de la siguiente manera:

  • ancho + relleno + borde = ancho real de un elemento
  • alto + relleno + borde = alto real de un elemento

Por lo tanto, cuando se define el ancho y el alto de un elemento, este suele aparecer más grande de lo establecido (porque el borde y el relleno del elemento se suman al ancho y alto especificados).

Valor inicialcontent-box
Se aplica aTodos los elementos que aceptan ancho y alto.
HeredableNo.
AnimableNo.
VersiónCSS3
Sintaxis DOMobject.style.boxSizing = "border-box";

Sintaxis

Sintaxis de la propiedad CSS box-sizing

css
box-sizing: content-box | border-box | initial | inherit;

En este ejemplo se muestran dos <div> elementos con el mismo ancho y alto especificados:

Ejemplo de la propiedad box-sizing:

Ejemplo de la propiedad CSS box-sizing con los valores content-box y border-box

html
<!DOCTYPE html>
<html>
  <head>
    <style>
      .div1 {
        box-sizing: content-box;
        width: 400px;
        height: 50px;
        padding: 50px;
        border: 5px double #1c87c9;
      }
      .div2 {
        box-sizing: border-box;
        width: 400px;
        height: 50px;
        padding: 50px;
        border: 5px dashed #8ebf42;
      }
    </style>
  </head>
  <body>
    <h2>Box-sizing Example</h2>
    <hr />
    <h3>box-sizing: content-box (default):</h3>
    <div class="div1">The width for this div is set as 400px. Thus, the full width is 400px + 10px (left and right border) + 100px (left and right padding) = 510px.</div>
    <br />
    <h3>box-sizing: border-box:</h3>
    <div class="div2">The width and height apply to all parts of the div element: The full width is 400px.</div>
  </body>
</html>

Resultado

Propiedad CSS box-sizing

Si box-sizing se define como content-box, el ancho total será mayor que el ancho definido del div. Y si se define box-sizing: border-box, el relleno y el borde se incluirán en el ancho y el alto.

Las propiedades box-sizing y border-box se utilizan para maquetar elementos. Este método es útil porque facilita el trabajo con los tamaños de los elementos al eliminar una serie de inconvenientes que pueden surgir al maquetar el contenido.

Ejemplo de uso de la propiedad box-sizing para crear dos cajas con borde definidas lado a lado:

Ejemplo de la propiedad CSS box-sizing con el valor border-box

html
<!DOCTYPE html>
<html>
  <head>
    <style>
      div.container {
        width: 100%;
        border: 2px double #1c87c9;
      }
      div.box {
        box-sizing: border-box;
        width: 50%;
        border: 3px solid #ccc;
        float: left;
        padding: 3px;
      }
    </style>
  </head>
  <body>
    <h2>Box-sizing Example</h2>
    <p>Here you can see two bordered boxes defined side by side.</p>
    <div class="container">
      <div class="box">Left part</div>
      <div class="box">Right part</div>
      <div style="clear:both;"></div>
    </div>
  </body>
</html>

Valores

ValorDescripción
content-boxLas propiedades de ancho y alto incluyen el contenido, pero no incluyen el relleno, el borde o el margen. Es el valor predeterminado.
border-boxLas propiedades de ancho y alto incluyen el contenido, el relleno y el borde, pero no incluyen el margen.
initialEstablece la propiedad en su valor predeterminado.
inheritHereda la propiedad de su elemento padre.

Práctica

¿Qué hace la propiedad CSS 'box-sizing'?

¿Te resulta útil?

Vista previa dual-run — compárala con las rutas Symfony en producción.