2010-09-23 13 views
13

Ich habe diesen Code (oben) verwendet, um den Text in der body in seinen Container zu passen. Was ich aber nicht mag, ist, dass es Wörter zerbricht.Stop word-wrap dividierende Wörter

Gibt es einen anderen Weg, wo es Wörter und nur Zeilenumbruch nach oder vor einem Wort nicht bricht?

EDIT: Dies ist für den Einsatz innerhalb einer UIWebView.

+3

Was denken Sie, "break-word" bedeutet? –

+0

Ich wusste das, aber ich sage "Gibt es einen anderen Weg". – Joshua

+0

alas 'word-wrap: normal;' hilft nicht. Noch hilft 'white-space: wrap;' allein, wenn Sie Wörter in eine Tabellenzelle (meine Situation) einpacken wollen. –

Antwort

6

Verwenden Sie white-space: wrap;. Wenn Sie die Breite auf dem Element eingestellt haben, auf dem Sie dies einstellen, sollte es funktionieren.

update - aufbereiteten Daten in Firefox alt text

+0

Nein, immer noch nichts. Dieser Code zeigt weiterhin den vollständigen Text mit horizontaler Bildlaufleiste an. 'Körper {Breite: 768px; white-space: wrap;} ' – Joshua

+0

nur Einstellung der Breite kümmert sich darum, den Text zu umhüllen Sie brauchen (atleast auf Firefox).können Sie Verhalten auf bestimmten Browsern überprüfen und den Beitrag aktualisieren –

+0

Ich habe meine Antwort aktualisiert, um gerenderte Ergebnisse auf firefox enthalten. –

5

Sie können versuchen, diese ...

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 :;} ist ein IE-geschütztes Eigentum, und nicht ein Teil von CSS. Die Handhabung von Firefox ist korrekt. Leider unterstützt FF keinen weichen Bindestrich /. Das ist also keine Option. Sie könnten möglicherweise ein Haar oder einen dünnen Zwischenraum einfügen, & /; (überprüfen Sie mich auf der numerischen Einheit) und & Thinsp; /, jeweils.

machen {overflow: hidden;} würde schneiden Sie den Überlauf aus, und {overflow: auto;} würde bewirken, dass der Überlauf Scrollen ermöglichen.

+0

Keiner der Beispiele, die Sie mir gegeben haben, funktioniert tatsächlich, der einzige, der das tut, ist "Word-Wrap". – Joshua

+0

Alternative ist {overflow: hidden;} und {overflow: auto;}, aber es gibt auch ein Problem. –

+0

Ja, aber das ist nicht das, was ich suche, denn 'overflow: hidden;' würde alles über den Rand verbergen. :/ – Joshua

2

In meiner Situation Ich versuche Worte wickeln auf richtige Wort-Pausen in Tabellenzellen zu gewährleisten.

Ich fand, dass ich die folgende CSS benötige, um dies zu erreichen.

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

überprüfen auch, dass nichts anderes word-break-break-word statt normal ändert.

+0

Lebensrettend! Danke –

9

Kann ein bisschen spät, aber Sie können diese CSS in den Wortumbrüche zu stoppen:

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

Das ist die richtige Antwort! –

0

ich ein ähnliches Problem in meiner Gitterstruktur konfrontiert und ich, Wort-break: break-word; in meinem Raster und mein Problem wurde gelöst.

+2

Es gibt keinen 'break-word'-Wert für' word-break'-Eigenschaft. –

2

Bitte verwenden Sie die Option nowrap und wrap Wert kam nicht für mich. nowrap hat das Problem gelöst.

Use white-space: nowrap;