Colores, Fuentes y Herencia
Indicar colores es fundamental en el diseño web. Existen múltiples formas de hacerlo, desde las más simples hasta modelos avanzados.
🎨 Colores en CSS
Indicar colores es fundamental en el diseño web. Existen múltiples formas de hacerlo, desde las más simples hasta modelos avanzados.
1. Palabras Clave (Keywords)
La forma más intuitiva pero limitada. Usa nombres estándar como green, blue, tomato, etc.
h1 {
color: green;
}2. Modelos numéricos (RGB y RGBA)
- RGB: Define el color mediante los canales Rojo, Verde y Azul (
red,green,blue). - RGBA: Añade el canal Alpha para controlar la transparencia (0 a 1).
[!TIP] Actualmente se recomienda la nueva sintaxis de CSS que unifica ambos, usando una barra para la opacidad:
rgb(255 255 255 / 0.5)
3. Hexadecimales
Es el formato más común por su brevedad. Se representa con un # seguido de 3, 6 u 8 dígitos.
- #ffffff: 6 dígitos (RGB).
- #fff: 3 dígitos (resumen de los 6).
- #ffffff80: 8 dígitos (los últimos dos indican la opacidad).
4. Modelos Modernos: HSL y OKLCH
- HSL: Modifica tono, saturación y luminosidad. Muy intuitivo para ajustar brillo.
- OKLCH: El modelo más avanzado y preciso. Permite una gama de colores (gamut) mucho más amplia en pantallas modernas.
color: oklch(348 0.8 0.4 / 0.5);
🔍 Current Color
currentcolor es un valor especial que toma el color actual de la propiedad color del elemento o de su padre más cercano en la cascada.
button {
color: blue;
border: 2px solid currentcolor; /* El borde será azul automáticamente */
}🔡 Fuentes (Typography)
La propiedad principal es font-family. Para asegurar que el sitio se vea bien en todos los dispositivos, usamos un concepto llamado Fallback.
Fallback (Plan B)
Es una lista de fuentes separadas por comas. Si la primera no está disponible, el navegador intenta con la siguiente.
body {
font-family: 'Inter', system-ui, sans-serif;
}📦 Gestión Óptima de Fuentes
- Google Fonts (CDN): Rápido de implementar pero puede afectar el performance si se cargan muchas.
- Local (Manual): Descargar archivos (
.woff2) y guardarlos en una carpeta/fonts. Es lo más autónomo. - Fontsource (NPM): La forma recomendada para proyectos modernos.
npm install @fontsource/inter@import '@fontsource/inter';
@font-face
Permite definir fuentes personalizadas cargando archivos locales.
@font-face {
font-family: 'New Rocker';
src: url('./fonts/NewRocker-Regular.woff2') format('woff2');
font-weight: normal;
font-style: normal;
}🧬 Herencia (Inheritance)
No todas las propiedades de CSS se heredan automáticamente.
- Se heredan: Propiedades de texto como
font-family,color,line-height. - NO se heredan: Propiedades de caja como
border,margin,padding,background.
Valores de Herencia
initial: Establece el valor por defecto de la propiedad (rompe la herencia).inherit: Fuerza al elemento hijo a heredar el valor del padre.revert: Revierte el valor al estilo original del navegador o del padre.
Ejemplo de inherit forzado:
<div class="container">
Este es el contenedor padre.
<div class="child">
Soy el hijo y heredo el borde.
</div>
</div>.container {
color: #09f;
border: 3px solid #09f;
}
.child {
/* Forzamos que el borde se herede, aunque no sea su comportamiento natural */
border: inherit;
}[!IMPORTANT] Aplicar fuentes en el
bodyes una excelente práctica, ya que casi todos los elementos hijos heredarán esa tipografía por defecto.
Position (Static, Relative, Absolute, Fixed, Sticky)
La propiedad position en CSS determina cómo se ubica un elemento en el documento. Por defecto, todos los elementos tienen un comportamiento de flujo normal, pero podemos alterarlo para crear layouts complejos.
Unidades de medida (px, vw, vh, em, rem, y otras)
En CSS, las unidades de medida se dividen en dos grandes grupos: Absolutas y Relativas. Entender cuándo usar cada una es clave para crear diseños que se adapten a cualquier pantalla.