2010-05-25 12 views
7

En HTML, ¿hay alguna manera de distribuir uniformemente el texto que se divide en varias líneas?Ajuste de texto equilibrado en HTML

Por ejemplo, no quiero:

 
    Here is some really long label that ends up on 
    two lines. 

preferiría:

 
        Here is some really long label 
         that ends up on two lines. 
+1

[ 'ajuste del texto: Por balanza] (https://www.w3.org/TR/css-text-4/# text-wrap) está en proceso. – Gajus

Respuesta

13

Adobe ha propuesto que se añada una nueva propiedad CSS text-wrap: balance.

Mientras tanto, han creado un complemento jQuery llamado balance-text para lograr el mismo resultado.

1

En pura HTML/CSS no hay una manera de lograr esto, porque no hay forma de medir la longitud de la línea.

Una forma de hacerlo sería con javascript, pero terminará con un FOBUC mientras que el javascript calcula la longitud de la línea y la divide en consecuencia.

La mejor manera de evitar eso sería dividir la línea con PHP/ASP/Lo que sea que esté usando.

+1

Bueno, "la mejor manera" es incorrecta debido a la variedad de fuentes y (probablemente) el ancho limitado. Por ejemplo, FireFox tiene una opción de tamaño de fuente mínimo, lo que probablemente arruinaría dicha configuración. – doublep

+3

¿Qué es un "FOBUC"? – aditsu

+1

[FOUC] (http://en.wikipedia.org/wiki/Flash_of_unstyled_content): flash de contenido sin estilo – kirkaracha

0

Creo que puede lograr eso si establece el ancho fijo del contenedor de elementos y juega con las propiedades padding.

1

algo de una solución, pero se puede utilizar espacios de no separación de las últimas palabras:

<p>Here is some really long label that ends on&nbsp;two&nbsp;lines</p> 
+0

Otro enfoque similar sería '
' las líneas manualmente, como en '

Aquí hay alguna etiqueta muy larga
que termina en dos líneas

' –

Cuestiones relacionadas