Propiedades de texto en CSS
En esta lección, vamos a explorar propiedades como text-align
, text-decoration
o line-height
, que controlan desde la alineación hasta el espaciado de letras. También veremos cómo estas propiedades ayudan a crear diseños adaptables que se ven bien en cualquier pantalla.
Propiedad word-spacing
Con word-spacing
, ajustas el espacio entre palabras. Puede servir tanto para mejorar la legibilidad como para efectos visuales.
Valores: normal
(por defecto) o cualquier unidad CSS (px
, em
, rem
, etc.). Se aceptan valores negativos.
p {
word-spacing: 5px; /* Más espacio entre palabras */
}
p.tight {
word-spacing: -2px; /* Menos espacio */
}
Nota: Usa valores negativos con cuidado: pueden hacer que las palabras se solapen.
Propiedad letter-spacing
Controla el espacio entre letras. Es muy usada en titulares o cuando una fuente tiene poco espaciado.
Valores: normal
o cualquier unidad válida. Se permiten negativos.
h1 {
letter-spacing: 2px;
}
span {
letter-spacing: -1px;
}
Accesibilidad: Evita valores negativos extremos. El espaciado pobre dificulta la lectura, especialmente en usuarios con dislexia.
Propiedad text-decoration
Añade decoraciones al texto como subrayado, tachado o sobrelínea. Muy común en enlaces.
Valores:
none
: sin decoraciónunderline
: subrayadooverline
: línea sobre el textoline-through
: tachadounderline overline
: ambas simultáneamente
a {
text-decoration: none; /* Quita el subrayado */
}
del {
text-decoration: line-through; /* Tachado */
}
CSS3: Permite especificar color, estilo y grosor:
Estilos disponibles para text-decoration-style
:
solid
: línea continua (valor por defecto)dashed
: línea de guionesdotted
: línea de puntoswavy
: línea onduladadouble
: doble línea
También puedes usar text-decoration-color
y text-decoration-thickness
para definir el color y el grosor de la línea:
p {
text-decoration: underline wavy blue 2px;
}
Propiedad vertical-align
Alinea verticalmente elementos en línea (inline
, inline-block
o celdas de tabla).
Valores comunes: baseline
, top
, middle
, bottom
, text-top
, text-bottom
, sub
, super
. También acepta unidades (px
, %
).
<span style="vertical-align: super;">2</span>
<img src="icono.png" style="vertical-align: middle;">
Nota: No funciona en elementos block
.
Propiedad text-transform
Transforma mayúsculas o minúsculas visualmente (sin alterar el HTML).
Valores: none
, uppercase
, lowercase
, capitalize
.
h1 { text-transform: uppercase; }
p { text-transform: capitalize; }
Accesibilidad: Evita uppercase
en textos largos. capitalize
puede fallar en idiomas como el español o el alemán.
Propiedad text-align
Alinea el texto horizontalmente dentro de un elemento en bloque.
Valores: left
, right
, center
, justify
, start
, end
.
p { text-align: justify; }
h1 { text-align: center; }
Nota: justify
puede crear espacios irregulares si el texto es corto. start
y end
mejoran el soporte para lenguas RTL.
Propiedad text-indent
Aplica una sangría en la primera línea de un bloque de texto.
Valores: Cualquier unidad (px
, em
, %
), incluyendo negativos.
p {
text-indent: 2em;
}
Consejo: Prefiere em
o rem
para que la sangría escale con el tamaño del texto.
Propiedad line-height
Ajusta la altura de línea. Mejora la legibilidad especialmente en párrafos largos.
Valores: número sin unidad (relativo al font-size
), unidades absolutas o porcentaje. El valor normal
depende de la fuente.
p {
font-size: 16px;
line-height: 1.6; /* 25.6px */
}
Buena práctica: Usa valores entre 1.5
y 1.8
para texto legible. Es mejor evitar unidades fijas.
Propiedad white-space
Controla cómo se procesan los espacios en blanco y los saltos de línea.
Valores: normal
, pre
, nowrap
, pre-wrap
, pre-line
, break-spaces
(CSS3).
p {
white-space: pre-wrap;
}
Uso recomendado: pre-wrap
para mantener saltos de línea pero permitir adaptabilidad en el ancho.
Buenas prácticas
Valores universales: La mayoría de propiedades CSS aceptan también los valores especiales initial
, inherit
y unset
:
initial
: Restaura el valor por defecto de la propiedad.inherit
: Fuerza la herencia desde el elemento padre.unset
: Hereda si la propiedad es heredable, o usa el valor inicial si no lo es.
Decoración moderna: Puedes usar text-decoration-skip-ink
para evitar que las líneas de subrayado pasen por encima de letras como la "g" o la "y":
a {
text-decoration: underline;
text-decoration-skip-ink: auto; /* valor por defecto */
}
Accesibilidad: Usa line-height
entre 1.5
y 1.8
. Evita uppercase
para bloques largos. Asegúrate de que subrayados no afecten al contraste.
Adaptabilidad: Prefiere unidades relativas como em
o rem
para que el diseño escale con el tamaño del texto.
Enlaces: Si quitas el subrayado, asegúrate de que se distingan por color o efectos al pasar el ratón.
Compatibilidad: Algunas propiedades más modernas como text-decoration-thickness
o break-spaces
requieren navegadores actualizados.
Pruebas: Revisa la apariencia en distintos navegadores, tamaños de pantalla y configuraciones de accesibilidad.