2011-10-13 6 views
9

que tienen el html folowing:¿Cómo envuelve palabras largas en nueva línea y evita el desplazamiento horizontal con CSS?

<div class="box"> 
    long text here 
</div> 

y CSS:

.box { 
    width: 400px; 
    height: 100px; 
    overflow: auto; 
    border: 1px gold solid; 
} 

quiero solamente un desplazamiento vertical. Pero cuando una palabra es demasiado larga, se visualiza un desplazamiento horizontal. ¿Cómo preparo las palabras largas?

Si es necesario, puedo usar un truco con jQuery o PHP, pero me gustaría resolverlo usando CSS, porque es un trabajo de CSS.

Puede FIDDLE aquí: http://jsfiddle.net/879bc/1/

+1

UH. ¿Cuánto tiempo podría durar una sola palabra? Antidisestablishmentarianism? Pneumonoultramicroscopicsilicovolcanoconiosis? –

+0

@Robert Quiero que una palabra se ajuste cuando es más de 400px. (El ancho del div) –

Respuesta

22
+1

** Demostración en vivo: ** http://jsfiddle.net/THC5q/ –

+0

@Timeless trabajando para en OSX Chrome 36.0.1985.125 –

+0

@Timeless sí, 'table> td' en realidad no debería coincidir con nada en su HTML (ya que TD nunca es un hijo directo de Table) –

0

La solución que he usado en el pasado es una biblioteca de puntos suspensivos como http://dotdotdot.frebsite.nl/ para jQuery, puede especificar el número de caracteres y lo han dot dot dot después de eso por lo que todo encaja en una linea

2

Para la división de palabras personalizadas, hay un carácter especial html que no se usa con frecuencia: &shy; (guión suave) - que dividirá palabras en 2 líneas e insertará un guión después de la primera parte de la palabra si la palabra se acerca el borde de su contenedor. El problema es que tendrás que ubicarlos donde quieras. Como dices, sin embargo, también puedes configurar una función js o php e insertarlas en los lugares apropiados.

+1

** Demostración en vivo: ** http://jsfiddle.net/THC5q/1/ –

Cuestiones relacionadas