2010-09-23 12 views
13
body { word-wrap: break-word;} 

Używałem tego kodu (powyżej), aby dopasować tekst w body do jego pojemnika. Jednak to, co mi się nie podoba, to łamanie słów.Zatrzymaj słowo-wrap dzieląc słowa

Czy istnieje inny sposób, w którym nie będzie dzielił słów i tylko podział wiersza po lub przed słowem?

EDYCJA: Jest przeznaczona do użytku w ramach UIWebView.

+3

Co według ciebie oznacza "słowo przerwane"? –

+0

Wiedziałem o tym, ale mówię "Czy jest inny sposób". – Joshua

+0

alas 'word-wrap: normal;' nie pomaga. Ani "white-space: wrap" sam nie pomaga, jeśli próbujesz zawijać słowa w komórce tabeli (moja sytuacja). –

Odpowiedz

6

użyć white-space: wrap;. Jeśli ustawiłeś szerokość elementu, na którym to ustawiasz, powinna działać.

update - świadczone dane w Firefoksie alt text

+0

Nie, wciąż nic. Ten kod nadal wyświetla pełny tekst z poziomym paskiem przewijania. 'body {width: 768px; white-space: wrap;} ' – Joshua

+0

just setting width dba o zawijanie tekstu, którego potrzebujesz (przynajmniej na firefox).czy możesz sprawdzić zachowania w określonych przeglądarkach i zaktualizować post –

+0

zaktualizowałem swoją odpowiedź, aby uwzględnić renderowany wynik w Firefoksie. –

5

Można spróbować to ...

body{ 
white-space: pre; /* CSS2 */ 
white-space: -moz-pre-wrap; /* Mozilla */ 
white-space: -hp-pre-wrap; /* HP printers */ 
white-space: -o-pre-wrap; /* Opera 7 */ 
white-space: -pre-wrap; /* Opera 4-6 */ 
white-space: pre-wrap; /* CSS 2.1 */ 
white-space: pre-line; /* CSS 3 (and 2.1 as well, actually) */ 
word-wrap: break-word; /* IE */ 
} 

{word-wrap :;} jest własnością zastrzeżone IE, a nie częścią css. Obsługa firefox jest poprawna. Niestety, FF nie obsługuje miękkiego łącznika /. więc to nie jest opcja. Możesz wstawić włosy lub cienką przestrzeń, a hairsp;/(sprawdź mnie na encji numerycznej) i & thinsp; /, odpowiednio.

Making {overflow: hidden;} by przeciąć przepełnienie się, a {overflow: auto;} spowoduje przepełnienie, aby umożliwić przewijanie.

+0

Żaden z przykładów, które mi dałeś, nie działa, a jedynym, który to robi, jest "zawijanie wyrazów". – Joshua

+0

alternatywa to {przepełnienie: ukryte;} i {przepełnienie: auto;}, ale jest też problem z tym. –

+0

Tak, ale to nie jest to, czego szukam jako "przepełnienie: ukryte", ukryłoby wszystko poza krawędzią. :/ – Joshua

2

W mojej sytuacji staram się zapewnić słowa owinąć w odpowiednich słów-przerw w obrębie komórek tabeli.

Znalazłem potrzebne mi następujące CSS, aby to osiągnąć.

table { 
    table-layout:fixed; 
} 
td { 
    white-space: wrap; 
} 

również sprawdzić, że nic innego się zmienia word-break do break-word zamiast normal.

+0

Oszczędność na życie! Dzięki –

9

może być nieco późno, ale można dodać css do zatrzymania przerwy słowo:

.element { 
    -webkit-hyphens: none; 
    -moz-hyphens: none; 
    -ms-hyphens:  none; 
    hyphens:   none; 
} 
+0

To jest poprawna odpowiedź! –

0

wychodził podobny problem w mojej strukturze siatki i ja, słowo-break break-word; w mojej sieci i mój problem został rozwiązany.

+2

Nie ma wartości 'break-word' dla właściwości' word-break'. –

2

Proszę użyć nowrap i zawijania wartości nie przyszedł dla mnie. Nowrap rozwiązał problem.

Use white-space: nowrap;