Como desarrollador frontend, comprender el modelo de caja CSS es decisivo para poder ofrecer diseños con píxeles perfectos. Profundicemos y analicemos cómo los elementos en línea y en bloque se comportan de manera diferente en el contexto de los dos tipos de modelo de caja: cuadro de contenido y cuadro de borde.
Antes de entrar en detalles, vale la pena recapitular qué es el modelo de caja. Cada elemento de su página es un cuadro (sí, incluso aquellos que en realidad no parecen tener forma cuadrada). Las cajas pueden estar dentro, conteniendo y/o al lado de otras cajas.
El modelo de caja aplica para todos ellos y consta de:
Por lo tanto, casi todos los elementos HTML dentro de
(incluido) y todos los pseudoelementos CSS son un cuadro. Las "paredes" de ese cuadro son su borde y se les puede dar un grosor (o ancho). Entre ese contenido y las paredes de ese cuadro tiene relleno. Entre esas paredes y otros cuadros, tiene margen.Es fundamental comprender las diferencias clave en cómo el modelo de caja afecta los elementos en línea frente a los de bloque:
Ancho: Los elementos del bloque se expanden para llenar su contenedor de forma predeterminada. ¿Elementos en línea? Ocupan el espacio suficiente para su contenido.
Altura: Para elementos de bloque, el relleno, el borde y el margen aumentarán la altura. Los elementos en línea permanecen dentro de la altura de la línea, independientemente del relleno vertical o los bordes.
Impacto en el diseño: Los elementos del bloque influyen tanto en el diseño horizontal como en el vertical. Los elementos en línea tienen que ver con el flujo horizontal, con un impacto mínimo en el espaciado vertical.
Colapso de márgenes: El colapso de márgenes es un comportamiento específico de los elementos de bloque, donde los márgenes verticales adyacentes pueden fusionarse (por lo que un margen inferior:20px en un elemento puede colapsar en un margen superior: 20px en un elemento siguiente, creando un margen de 20px). Los elementos en línea no entran en este juego.
Ahora que conocemos los componentes del modelo de caja y la diferencia entre elementos en línea y en bloque, veamos cómo los cuadros de contenido se ven afectados por la propiedad box-sizing según si son un elemento en línea o en bloque.
La propiedad box-sizing controla cómo se calculan el ancho y el alto de un elemento, y puede afectar significativamente el diseño.
Cuando se cambia el tamaño del cuadro: el cuadro de contenido se aplica a un elemento en línea:
Cuando se cambia el tamaño del cuadro: el cuadro de contenido se aplica a un elemento de bloque:
Cuando se cambia el tamaño del cuadro: el cuadro de borde se aplica a un elemento en línea:
Cuando se cambia el tamaño del cuadro: el cuadro de borde se aplica a un elemento de bloque:
Vale la pena señalar que, si bien el cuadro de contenido es el predeterminado, se considera que el cuadro de borde es más intuitivo y proporciona el mayor grado de control.
El modelo de caja CSS no es solo un concepto poderoso: es una herramienta fundamental en su arsenal de desarrollo frontend. Al comprender cómo el tamaño de la caja afecta de manera diferente a los elementos en línea y en bloque, puede comenzar a crear diseños impecables que sean nítidos y funcionales sin la molestia de solucionar problemas de diseños que se comportan mal.
Si disfrutaste esta descarga en Box Model, ¡desplaza el cursor sobre el cuadro en forma de corazón en la parte superior izquierda y muestra todo tu amor a esta publicación!
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3