Guía educativa de text-wrap
Elegir cómo se reparte el texto entre líneas
Compara wrap, balance y pretty según el contenido. Aprende qué evita nowrap, para qué sirve stable al editar y por qué el ancho, la fuente y el navegador cambian el resultado.
Modelo mental
El navegador elige saltos dentro de una caja que ya tiene su propio ancho.
- 1 · Ancho disponibleinline-size y la fuente determinan cuánto texto cabe en cada línea.
- 2 · Oportunidades de saltoEl idioma, los espacios y las reglas de separación permiten ciertos cortes.
- 3 · Elección de líneastext-wrap elige entre esos cortes; no inventa espacio ni cambia los caracteres.
text-wrap controla los saltos automáticos, no el ancho de la caja ni el tamaño de la fuente. wrap permite el ajuste normal; nowrap impide esos saltos. balance, pretty y stable orientan la elección entre oportunidades de salto existentes.
Es un shorthand de text-wrap-mode y text-wrap-style. text-wrap: balance equivale a wrap balance. Un shorthand que omite una parte la restablece a su valor inicial: wrap para mode y auto para style. Usa longhands si solo quieres cambiar una parte.
.title { text-wrap: balance; }.title { text-wrap-mode: wrap; text-wrap-style: balance; }wrap y balance en títulos
Mismo contenido y ancho; cambia la estrategia de composición.
wrap prioriza el ajuste normal. balance busca líneas de longitudes parecidas en bloques cortos, como títulos o citas. No equivale a centrar con text-align ni garantiza que todas las líneas midan lo mismo.
Un título con ajuste normal y equilibrado
text-wrap: wrap
Diseña interfaces que sigan siendo claras cuando cambia el ancho
text-wrap: balance
Diseña interfaces que sigan siendo claras cuando cambia el ancho
El límite de balance depende del motor: MDN documenta hasta seis líneas en Chromium y diez en Firefox. No lo conviertas en un contrato de diseño; al superar el límite puede usarse el ajuste normal. Aplícalo a bloques cortos y revisa el ancho real, las traducciones y la fuente de fallback.
wrap y pretty en párrafos
Mejorar la composición no significa equilibrar todas las líneas.
pretty favorece calidad tipográfica sobre velocidad. Puede evitar una última línea demasiado corta y mejorar otros cortes. El algoritmo varía: Chromium se centra en el final del párrafo; WebKit puede considerar el párrafo completo. No promete eliminar toda palabra aislada.
Un párrafo con ajuste normal y pretty
text-wrap: wrap
Una interfaz necesita textos que puedan crecer con las traducciones y las preferencias de lectura. Elegir los saltos con cuidado mejora la composición, pero no sustituye una medida legible, una fuente adecuada ni espacio entre líneas. Comprueba siempre el resultado con contenido real.
text-wrap: pretty
Una interfaz necesita textos que puedan crecer con las traducciones y las preferencias de lectura. Elegir los saltos con cuidado mejora la composición, pero no sustituye una medida legible, una fuente adecuada ni espacio entre líneas. Comprueba siempre el resultado con contenido real.
Usa balance para títulos cortos y pretty para prosa seleccionada. Evaluar varios cortes tiene un coste distinto del ajuste normal; evita imponer la misma estrategia a todo el documento sin medir. Ninguna sustituye line-height ni un ancho cómodo de lectura.
nowrap, saltos forzados y palabras largas
Impedir saltos automáticos puede producir desbordamiento.
nowrap conserva los saltos forzados, como br, pero evita los automáticos. No reduce texto ni añade puntos suspensivos. En esta comparación el scroll queda dentro de la muestra; para prosa y controles que deben crecer, suele ser mejor permitir wrap.
Una línea larga y un salto explícito
text-wrap: wrap
Un texto largo necesita espacio para conservar todas sus palabras.
text-wrap: nowrap
Un texto largo necesita espacio para conservar todas sus palabras.
text-wrap: nowrap + <br>
Primera línea explícita.
Segunda línea explícita.
overflow-wrap resuelve otro problema: permite cortes de emergencia en cadenas que no caben, como URLs. white-space también controla espacios y saltos; una declaración posterior puede restablecer text-wrap-mode. Comprueba la cascada antes de atribuir el overflow a balance o pretty.
stable al editar contenido
Conservar líneas anteriores a la edición, sin bloquear el reflow.
stable está pensado para texto editable: al cambiar una línea, las anteriores no deberían recomponerse por esa edición. No congela el layout cuando cambia el ancho o la fuente, ni conserva el contenido. En una muestra estática puede parecer idéntico a wrap.
Editar un bloque con stable
Texto editable · text-wrap: stable
Modifica las últimas líneas y observa los saltos anteriores. Sin guardado.
La receta mantiene wrap como base y añade stable. CSS.supports puede confirmar que el valor se reconoce, pero no certifica el comportamiento durante una edición. Un editor completo requiere decisiones adicionales; este campo solo prueba el ajuste nativo.
Errores frecuentes
Comprueba contenido, ancho, cascada y soporte del valor concreto.
balance no cambia el título
- Resultado esperado
- Ver otra distribución de líneas.
- Causa
- Cabe en una línea, supera el límite del motor o ya tiene cortes equilibrados.
- Solución
- Prueba un ancho con pocas líneas y contenido real; verifica el valor calculado.
La caja sigue siendo igual de ancha
- Resultado esperado
- Que el fondo se ajuste a las líneas equilibradas.
- Causa
- text-wrap cambia saltos, no inline-size ni el layout del contenedor.
- Solución
- Diseña el ancho de la caja por separado y evita depender de la longitud de la última línea.
pretty deja una última línea corta
- Resultado esperado
- Eliminar siempre una palabra aislada.
- Causa
- El valor puede no estar soportado o el algoritmo no encuentra una composición mejor.
- Solución
- Revisa soporte, fuente y medida; conserva un resultado legible con wrap.
nowrap provoca scroll de página
- Resultado esperado
- Mantener el contenido dentro del viewport.
- Causa
- Se impiden saltos automáticos sin dar espacio ni un tratamiento local al desbordamiento.
- Solución
- Permite wrap en contenido que debe crecer; reserva nowrap para casos limitados y accesibles.
stable parece no hacer nada
- Resultado esperado
- Ver un cambio al seleccionarlo en texto estático.
- Causa
- Su finalidad aparece durante la edición; no es otra variante de balance.
- Solución
- Prueba contenido editable y verifica el comportamiento en los navegadores de destino.
Soporte y compatibilidad
El shorthand y sus valores no tienen un único calendario de soporte.
La tarjeta general no garantiza todos los valores. balance y pretty tienen entradas propias en Web Platform DX. A fecha de consulta, MDN BCD registra pretty en Chrome 117 y Safari 26, y no en Firefox; stable aparece desde Chrome 130, Firefox 121 y Safari 17.5. Revisa las tablas actuales antes de publicar o fijar requisitos.
Parte de texto que envuelve y sigue siendo legible. Declara wrap antes de una mejora y evita que un nowrap heredado sea la base accidental. @supports (text-wrap: pretty) permite condicionar estilos asociados; solo detecta sintaxis, no la calidad de los cortes. Las muestras usan el motor real, sin polyfills.