El box modeling es un concepto de cómo los elementos en la web están estructurados en cajas rectangulares. nos da un control preciso sobre cómo se muestran los elementos HTML en una página web.
Entender sus componentes es fundamental para crear diseños web efectivos y profesionales.
padding-top
padding-right
padding-bottom
padding-left
border-width
border-style
border-color
margin-top
margin-right
margin-bottom
margin-left
La propiedad box-sizing en CSS controla cómo se calcula el ancho y alto total de un elemento
box-sizing: content-box
: calcula el ancho y alto total incluyendo el contenido, el relleno y el borde.
Cálculo del ancho/alto: El ancho y alto total del elemento se calcula sumando el ancho/alto del contenido, el relleno y el borde.
box-sizing: border-box
:
Las propiedades principales que se utilizan para configurar el Flexbox son las siguientes:
row
: (valor por defecto): Los elementos se alinean horizontalmente, de izquierda a derecha.row-reverse
: Los elementos se alinean horizontalmente, de derecha a izquierda.column
: Los elementos se alinean verticalmente, de arriba a abajo.column-reverse
: Los elementos se alinean verticalmente, de abajo a arriba.flex-wrap
:Controla cómo se envuelven los elementos si no caben en una sola línea.
nowrap
(valor por defecto): Los elementos se colocan en una sola línea, incluso si se desbordan del contenedor.wrap
: Los elementos se envuelven en múltiples líneas si es necesario.wrap-reverse
: Los elementos se envuelven en múltiples líneas, pero en orden inverso.justify-content
: Controla la alineación de los elementos a lo largo del eje principal.
flex-start
(valor por defecto): Los elementos se alinean al inicio del eje principal.flex-end
: Los elementos se alinean al final del eje principal.center
: Los elementos se centran en el eje principal.space-between
: Los elementos se distribuyen uniformemente, con el primer elemento al inicio y el último al final.space-around
: Los elementos se distribuyen uniformemente, con espacio alrededor de cada elemento.space-evenly
: Los elementos se distribuyen uniformemente, con espacio uniforme entre cadaalign-items
: Controla la alineación de los elementos a lo largo del eje secundario (perpendicular al eje principal).
stretch
(valor por defecto): Los elementos se estiran para ocupar todo el espacio disponible en el eje secundario.flex-start
: Los elementos se alinean al inicio del eje secundario.flex-end
: Los elementos se alinean al final del eje secundario.center
: Los elementos se centran en el eje secundario.baseline
: Los elementos se alinean según sus líneas de base.align-content
: Controla la alineación de las líneas múltiples de elementos si flex-wrap
está configurado en wrap
flex-start
(valor por defecto): Las líneas se alinean al inicio del eje secundario.flex-end
: Las líneas se alinean al final del eje secundario.center
: Las líneas se centran en el eje secundario.space-between
: Las líneas se distribuyen uniformemente, con la primera línea al inicio y la última al final.space-around
: Las líneas se distribuyen uniformemente, con espacio alrededor de cada línea.space-evenly
: Las líneas se distribuyen uniformemente, con espacio uniforme entre cada línea y los bordes del contenedor.gap
: Define el espacio entre los elementos flexibles. Puedes usar row-gap
y column-gap
para controlar el espacio entre las filas y las columnas, respectivamente.order
: Controla el orden de los elementos flexibles. Puedes asignar un valor numérico a la propiedad order para cada elemento, y los elementos se ordenarán de acuerdo a estos valores.flex-grow
: Controla cómo se expanden los elementos flexibles para ocupar el espacio disponible en el contenedor.flex-shrink
: Controla cómo se encogen los elementos flexibles si no hay suficiente espacio en el contenedor.flex-basis
: Define el tamaño inicial del elemento flexible antes de que se expanda o se encoja.La propiedad flex en CSS te permite controlar el tamaño y el crecimiento de los elementos flexibles dentro de un contenedor Flexbox. Se compone de tres valores: flex-grow, flex-shrink y flex-basis.
flex: <flex-grow> <flex-shrink> <flex-basis>;
flex-grow
: Define qué tan grande puede crecer un elemento en proporción a los demás elementos del contenedor cuando hay espacio adicional disponible.
flex-shrink
: Define cuánto puede encogerse un elemento en proporción a los demás cuando el espacio en el contenedor es limitado.
flex-basis
: Define el tamaño inicial de un elemento antes de que se aplique flex-grow o flex-shrink.
Formato | Ventaja principal | Inconveniente | Usos típicos |
---|---|---|---|
RGB | Precisión y control directo de los colores | Sin transparencia, menos intuitivo que HSL | Colores sólidos, diseños basados en números |
RGBA | Transparencia integrada | Menos intuitivo que HSL | Superposiciones, efectos de transparencia |
Hexadecimal | Compacto y fácil de compartir | Menos legible o ajustable | Web estándar, compatibilidad amplia |
HSL | Fácil de ajustar tono, saturación y brillo | No tan compacto como Hex | Temas dinámicos, gradientes |
HSLA | Transparencia más intuitiva que RGBA | Similar a RGBA | Variantes de colores con opacidad |