La propiedad de espacio en blanco controla cómo se maneja el texto en el elemento al que se aplica. Digamos que tiene HTML exactamente como este:
A bunch of words you see.
Has diseñado el div para que tenga un ancho establecido de 100px. Con un tamaño de fuente razonable, es demasiado texto para caber en 100 píxeles. Sin hacer nada, el white-space
valor predeterminado es normal
y el texto se ajustará. Vea el ejemplo a continuación o sígalo en casa con la demostración.
div ( /* This is the default, you don't need to explicitly declare it unless overriding another declaration */ white-space: normal; )
Si desea evitar que el texto se ajuste, puede aplicar white-space: nowrap;
Observe que en el ejemplo de código HTML en la parte superior de este artículo, en realidad hay dos saltos de línea, uno antes de la línea de texto y otro después, que permiten que el texto esté en su propia línea (en el código). Cuando el texto se representa en el navegador, esos saltos de línea aparecen como si estuvieran eliminados. También se eliminan los espacios adicionales en la línea antes de la primera letra. Si queremos forzar al navegador a mostrar esos saltos de línea y espacios en blanco adicionales, podemos usarwhite-space: pre;
Se llama pre
porque el comportamiento es que, como si hubieras envuelto el texto en
Quizás le guste cómo pre
respeta los espacios en blanco y los saltos, pero necesita que el texto se ajuste en lugar de salirse potencialmente de su contenedor principal. Para eso white-space: pre-wrap;
es:
Finalmente, white-space: pre-line;
dividirá las líneas donde se rompen en el código, pero aún se eliminan los espacios en blanco adicionales.
Curiosamente, no se respeta el salto de línea final. Según la especificación CSS 2.1: "Las líneas se interrumpen en los caracteres de nueva línea conservados y según sea necesario para llenar los cuadros de línea". así que quizás eso tenga sentido.
Aquí hay una tabla para comprender los comportamientos de todos los diferentes valores:
Nuevas lineas | Espacios y tabulaciones | Ajuste de texto | |
---|---|---|---|
normal | Colapso | Colapso | Envoltura |
pre | Preservar | Preservar | Sin envoltura |
Nowrap | Colapso | Colapso | Sin envoltura |
preenvolver | Preservar | Preservar | Envoltura |
prelínea | Preservar | Colapso | Envoltura |
En CSS3, la white-space
propiedad literalmente seguirá ese gráfico y asignará las propiedades text-space-collapse
y en text-wrap
consecuencia.
Más información
- Documentos de Mozilla
Soporte del navegador
Un poco más complejo que la tabla de soporte regular, ya que cada valor tiene diferentes niveles de soporte:
Navegador | Versión | Soporte de |
---|---|---|
explorador de Internet | 5.5 | normal | nowrap |
6.0 | normal | pre | nowrap |
|
8+ | normal | pre | nowrap | pre-wrap | pre-line |
|
Firefox (Gecko) | 1,0 (1,0) | normal | pre | nowrap | -moz-pre-wrap |
3,0 (1,9) | normal | pre | nowrap | pre-wrap | -moz-pre-wrap |
|
3,5 (1,9,1) | normal | pre | nowrap | pre-wrap | pre-line |
|
Ópera | 4.0 | normal | pre | nowrap |
8.0 | normal | pre | nowrap | pre-wrap |
|
9.5 | normal | pre | nowrap | pre-wrap | pre-line |
|
Safari (WebKit) | 1,0 (85) | normal | pre | nowrap |
3,0 (522) | normal | pre | nowrap | pre-wrap | pre-line |