2011-10-13 15 views
9

Mam html folowing:Jak zawijasz długie słowa na znak nowej linii i unikasz przewijania w poziomie za pomocą CSS?

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

i CSS:

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

Chcę tylko pionowy zwój. Ale gdy słowo jest za długie, wyświetlany jest poziomy przewijany. Jak zrobić zawijanie długich słów?

W razie potrzeby mogę użyć sztuczki z jQuery lub PHP, ale chciałbym ją rozwiązać za pomocą CSS, ponieważ jest to zadanie CSS.

Można bawić tutaj: http://jsfiddle.net/879bc/1/

+1

Sheesh. Jak długo może być jedno słowo? Antidisestablishmentarianism? Pneumonoultramicroscopicsilicovolcanoconiosis? –

+0

@Robert Chcę słowo do zawijania, gdy jest więcej niż 400px. (Szerokość div) –

Odpowiedz

22
+1

** Demo na żywo: ** http://jsfiddle.net/THC5q/ –

+0

@ Praca bez ograniczeń dla ja na OSXie Chrome 36.0.1985.125 –

+0

@ Czasami tak, 'tabela> td' nie powinien faktycznie pasować do niczego w twoim kodzie HTML (ponieważ TD nigdy nie jest bezpośrednim potomkiem Tabeli) –

0

roztworze Użyłem w przeszłości jest biblioteką wielokropek jak http://dotdotdot.frebsite.nl/ dla jQuery, można określić liczbę znaków i to kropka kropka kropka po tym, więc wszystko pasuje w jednej linii.

2

W przypadku niestandardowego łamania wyrazów istnieje specjalny znak html, który nie jest często używany- &shy; (miękki łącznik) - który podzieli słowa na 2 wiersze i wstawi myślnik po pierwszej części słowa, jeśli zbliża się słowo krawędź jego pojemnika. Problem polega na tym, że musisz je umieścić wszędzie, gdzie chcesz. Jak możesz jednak powiedzieć, możesz także ustawić funkcję js lub php i wstawić je do odpowiednich miejsc.

+1

** Demo na żywo: ** http://jsfiddle.net/THC5q/1/ –

Powiązane problemy