css
¿Qué hace la propiedad 'box-sizing' en CSS?
Practica Tu Conocimiento
Explicación
Entender la propiedad 'box-sizing' en CSS
La propiedad box-sizing en CSS es una herramienta poderosa y esencial para el control de layout en desarrollo web. Como se mencionó en la pregunta, esta propiedad dicta cómo se calculan las dimensiones de una caja en CSS.
En CSS, cada elemento se representa como una caja rectangular. Las dimensiones de esta caja se definen a través de las propiedades de anchura (width) y altura (height). Sin embargo, estas dimensiones pueden variar en función de la propiedad box-sizing.
¿Cómo funciona 'box-sizing'?
Existen dos valores que puedes asignar a la propiedad box-sizing: content-box y border-box.
content-box: Este es el valor por defecto de CSS. Aquí, las propiedadeswidthyheightcontrolan el tamaño del contenido de la caja, pero no incluyen el padding (espacio interior), borde, ni el margen.border-box: Este valor altera el box model tradicional. Aquí, las propiedadeswidthyheightincluyen el contenido, el padding y el borde, pero no el margen. Es decir, si asignas unwidthde200pxa una caja conborder-box, la suma del contenido, padding y borde nunca excederá los200px.
Ejemplo práctico
Imagina que tienes un div con una anchura de 300px, un padding de 20px y un borde de 2px. Si el box-sizing está configurado como content-box, la anchura total de la caja sería 344px (300px de contenido + 2*20px de padding + 2*2px de borde). Sin embargo, si box-sizing se establece como border-box, la anchura total se mantendrá en 300px, el contenido se ajustará a 256px para dar espacio al padding y al borde.
Mejores prácticas
Usar border-box puede hacer tu CSS más intuitivo y flexible, especialmente en diseños responsivos. Muchos desarrolladores prefieren resetear todos los elementos a border-box al inicio de sus hojas de estilo para mantener todos los elementos consistentes.
Puedes lograr esto con el siguiente código:
*, *:before, *:after {
box-sizing: border-box;
}
Esta práctica puede ayudarte a evitar problemas habituales con el ajuste de dimensiones, facilitando la creación de layouts precisos y consistentes.
¿Quieres más? Haz el cuestionario completo de CSS Fundamentos.
Iniciar Quiz