Estilos Visuales Básicos
- Colores: Permiten definir tanto el color del texto y otros elementos como el color de fondo.
- Imágenes de fondo: Se pueden establecer imágenes como fondo de los elementos, fijarlas, hacer que se desplacen con la página, repetirlas, etc.
- Bordes: Permiten mostrar (o no) líneas de borde alrededor de los objetos, definiendo su grosor, estilo y color.
- Márgenes (
margin): Crean una separación transparente alrededor del objeto, fuera de su borde. - Relleno (
padding): Es el espacio transparente entre el contenido de un objeto y su borde. - Dimensiones: Permiten fijar la anchura (
width) y altura (height) de un objeto o indicar valores máximos y mínimos. - Contornos (
outline): Es una línea que se dibuja alrededor de un elemento, fuera de sus bordes, útil para resaltar elementos sin afectar al layout.
Tipografía y Texto
- Ajustes en el texto: Permiten controlar la alineación (centrado, izquierda, derecha, justificado), tamaño de fuente, tipo de fuente (familia), colores, sangrado, espaciado entre letras y palabras, sombras de texto, dirección del texto, decoración (subrayado, tachado), etc.
- Enlaces: Permiten definir estilos específicos para diferentes estados de los hipervínculos, como cuando el ratón se coloca encima (
:hover), cuando ya han sido visitados (:visited), cuando están activos (:active) o cuando tienen el foco (:focus). - Listas: Permiten modificar o eliminar los marcadores (viñetas, números) y controlar otros estilos como la posición del marcador.
Maquetación y Posicionamiento
- Modelo de caja (
display): Controla cómo se muestra un elemento y cómo interactúa con otros en el flujo del documento (ej. como bloque block, en línea inline, inline-block, flex, grid, none). - Visibilidad (
visibility): Permite ocultar un elemento. A diferencia de display: none, si se oculta con visibility: hidden, el elemento sigue ocupando su espacio en la página. - Posición (
position): Define cómo se posiciona un elemento en el documento (static, relative, absolute, fixed, sticky) y permite ajustar su ubicación con propiedades como top, right, bottom, left y z-index. - Desbordamiento (
overflow): Controla qué sucede cuando el contenido de un elemento excede sus dimensiones (mostrarlo visible, ocultarlo hidden, añadir barras de desplazamiento scroll o auto). - Elementos flotantes (
float): Permiten que un elemento 'flote' a la izquierda o derecha, haciendo que el texto u otros elementos en línea lo rodeen. Se complementa con la propiedad clear para controlar el flujo alrededor de los flotantes. - Contenedores Flexibles (Flexbox): Es un modelo de layout unidimensional (
display: flex) que ofrece una forma eficiente de distribuir el espacio y alinear elementos (ítems) dentro de un contenedor. - Columnas de texto (
columns): Permiten distribuir el contenido textual de un elemento en múltiples columnas, definiendo el número de columnas o su ancho. - Redimensionamiento por el usuario (
resize): Permite que el usuario pueda cambiar el tamaño de ciertos elementos (como <textarea>) arrastrando un control. - Diseño Adaptable (Media Queries): Permiten aplicar diferentes conjuntos de reglas CSS según características del dispositivo o viewport, como el ancho de la pantalla, la resolución o la orientación, logrando así un diseño responsive.
Efectos Visuales y Transformaciones
- Opacidad (
opacity): Define el nivel de transparencia de un elemento, desde completamente opaco (1) hasta completamente transparente (0). - Esquinas redondeadas (
border-radius): Permiten redondear las esquinas de los elementos. También se pueden usar imágenes en los bordes (border-image). - Sombras: Permiten añadir sombras a las cajas de los elementos (
box-shadow) o directamente al texto (text-shadow). - Gradientes de color: Permiten crear transiciones suaves entre dos o más colores como fondo (
linear-gradient, radial-gradient). - Transformaciones 2D y 3D (
transform): Permiten aplicar efectos visuales como rotar (rotate), escalar (scale), mover o trasladar (translate), y sesgar (skew) elementos en dos o tres dimensiones. - Transiciones (
transition): Permiten crear efectos de cambio suave y animado cuando una propiedad CSS cambia de un valor a otro (por ejemplo, en un estado :hover). - Animaciones (
animation): Permiten crear animaciones complejas mediante la definición de fotogramas clave (@keyframes) y aplicarlas a los elementos.
Estilos para Elementos Específicos
- Tablas: Permiten estilizar celdas (
<td>, <th>), filas (<tr>), bordes (border-collapse), espaciado (border-spacing), colores de fondo, etc. - Formularios: Permiten personalizar la apariencia de los campos de entrada (
<input>, <textarea>, <select>), etiquetas (<label>), botones (<button>) y otros controles. - Imágenes: Propiedades como
object-fit (cómo se ajusta una imagen a su contenedor) y filter (aplicar efectos como desenfoque, sepia, etc.) permiten modificar cómo se muestran las imágenes. - Botones: Se pueden aplicar estilos específicos para mejorar la apariencia visual e interactividad de los botones, cambiando su fondo, borde, color de texto, etc., en diferentes estados.
Funcionalidades Adicionales
- Contadores (
counter): Permiten generar y mostrar numeraciones automáticas (incrementales o decrementales) en elementos específicos usando las propiedades counter-reset y counter-increment junto con el contenido generado (::before/::after).