Box Sizing CSS
- Página anterior CSS @property
- Página siguiente Flexbox CSS
Box Sizing CSS
CSS box-sizing
permite que incluyamos el relleno interno (relleno) y el borde en el ancho y la altura totales del elemento.
Supongamos que no se especifica la propiedad CSS box-sizing
Por defecto, el ancho y la altura del elemento se calculan así:
- width + padding + border = anchura real del elemento
- height + padding + border = altura real del elemento
Esto significa: cuando configura el ancho / altura del elemento, el elemento generalmente parece más grande de lo que ha configurado (porque el borde y el relleno interno se han añadido al ancho / altura especificados del elemento).
La siguiente imagen muestra dos elementos <div> con el mismo ancho y altura especificados:
(ancho de 300px, altura de 100px).
(también de 300px de ancho, 100px de altura).
Los dos elementos <div> anteriores muestran diferentes tamaños en el resultado final (porque div2 especifica el relleno interno):
Ejemplo
.div1 { width: 300px; height: 100px; border: 1px solid blue; } .div2 { width: 300px; height: 100px; padding: 50px; border: 1px solid red; }
box-sizing
resuelve este problema.
Si se utiliza la propiedad CSS box-sizing
box-sizing
permite que incluyamos el relleno interno y el borde en el ancho y la altura totales del elemento.
Si se configura la propiedad en el elemento box-sizing: border-box;
entonces el ancho y la altura incluirán el relleno interno y el borde:
Este ejemplo es el mismo que el anterior, ambos elementos <div> han configurado box-sizing: border-box;
:
Ejemplo
.div1 { width: 300px; height: 100px; border: 1px solid blue; box-sizing: border-box; } .div2 { width: 300px; height: 100px; padding: 50px; border: 1px solid red; box-sizing: border-box; }
Debido a que se utiliza box-sizing: border-box;
de manera tan efectiva, muchos desarrolladores desean que todos los elementos en la página funcionen de esta manera.
El siguiente código asegura que todos los elementos se ajusten de esta manera más intuitiva. Muchos navegadores ya están utilizando box-sizing: border-box;
(pero no todos - por eso input y textarea se ven diferentes cuando width: 100%;).
Aplicarlo a todos los elementos es seguro y inteligente:
Ejemplo
* { box-sizing: border-box; }
Propiedad Box Sizing CSS
Atributo | Descripción |
---|---|
box-sizing | Definir el cálculo de anchura y altura de los elementos: si deben incluir márgenes internos (padding) y bordes. |
- Página anterior CSS @property
- Página siguiente Flexbox CSS