Was ist der genaue Unterschied zwischen overflow-wrap
/ word-wrap
und word-break
? Und kann mir jemand sagen, was das bessere ist, um sehr lange Links zu brechen? Die meisten Leute sagen, Sie sollten Wortumbruch in Kombination mit verwenden, overflow-wrap
aber es sieht nicht sehr logisch aus. Ich denke, die Verwendung overflow-wrap
in Kombination mit word-wrap
für eine bessere browserübergreifende Unterstützung ist die beste Methode. Was denken Sie?
html
css
word-wrap
word-break
Anselm
quelle
quelle
overflow-wrap
und zuword-wrap
100% identisch in der Funktionalität sein sollte. Persönlich habe ich den Eindruck, dass diesword-wrap
nur für die Unterstützung älterer Browser verwendet werden sollte und dass es in einer zukünftigen Version von CSS möglicherweise veraltet oder gelöscht wird.word-wrap
mitword-break
word-wrap
. Hier geht es darumword-break
. Das Schließen als doppelte Frage macht keinen Sinn.Antworten:
Zitat aus der Quelle
Zeilenumbruch: Mit der CSS-Eigenschaft "Zeilenumbruch" wird angegeben, ob der Browser Zeilen innerhalb von Wörtern unterbrechen darf, um einen Überlauf zu verhindern, wenn eine ansonsten unzerbrechliche Zeichenfolge zu lang ist, um in das enthaltene Feld zu passen.
overflow-wrap : Die
word-wrap
Eigenschaft wurdeoverflow-wrap
im aktuellen Entwurf der CSS3-Textspezifikation umbenanntWortumbruch: Mit der Wortumbruch-CSS-Eigenschaft wird angegeben, wie (oder ob) Zeilen innerhalb von Wörtern unterbrochen werden sollen
Sie benötigen also einen Wortumbruch in Kombination mit einem Zeilenumbruch, was die richtige Kombination ist.
quelle
word-wrap
ist ausreichend, aber wenn die Containerbreite begrenzt ist, kann das Layout durcheinander geraten.Es hilft zu verstehen, dass an dieser Stelle
word-break: break-word
wirklich ein Alias für istoverflow-wrap: anywhere
.word-break: break-word
ist offiziell veraltet; Siehe den CSS-Textmodul Level 3-Arbeitsentwurf :Hier ist zu beachten, dass
word-break: break-word
es sich um einen Alias füroverflow-wrap: anywhere
und NICHT um einen Alias für handeltoverflow-wrap: break-word
.(
word-break: normal
ist nur der Standardwert fürword-break
, sodass Sie ihn ignorieren können, es sei denn, Sie legen einen anderen Wert für festword-break
.)Wie kann
overflow-wrap: anywhere
undoverflow-wrap: break-word
unterscheiden?Der einzige Unterschied in der Dokumentation zwischen den beiden besteht darin, dass
overflow-wrap: anywhere
DOES "Soft-Wrap-Möglichkeiten berücksichtigt, die durch das Wort break eingeführt werden", wenn es "intrinsische Größen mit minimalem Inhalt berechnet", währendoverflow-wrap: break-word
dies NICHT der Fall ist.Ich denke, Breiten könnten in einigen Fällen genauer sein, wenn sie berücksichtigt werden?
quelle
Hier sind die genauen Unterschiede: (basierend auf Tests in Chrome v81 und Bestätigung meiner Beobachtungen durch Bezugnahme auf die Spezifikation)
Leerraum
normal
(Standard): Reduziert Leerzeichen und Zeilenumbrüche. fügt bei Bedarf Zeilenumbrüche hinzunowrap
: reduziert Leerzeichen und Zeilenumbrüche; fügt keine Zeilenumbrüche hinzupre-line
: reduziert Leerzeichen-Ketten; fügt bei Bedarf Zeilenumbrüche hinzupre-wrap
: kein Reduzieren; fügt bei Bedarf Zeilenumbrüche hinzubreak-spaces
: wie vor dem Zeilenumbruch , außer bei Leerzeichen, die das Hinzufügen von Zeilenumbrüchen auslösen könnenpre
: kein Reduzieren; fügt keine Zeilenumbrüche hinzuHinweis: Wenn in den ausgewählten
white-space
Wertelisten "keine Zeilenumbrüche hinzugefügt werden", kann das Zeilenumbruchverhalten der folgenden Eigenschaften nicht angewendet (dh ignoriert) werden.Wortumbruch
normal
(Standard): Unterbricht die Zeile am Ende der letzten Wortanpassung innerhalb des Containers [falls vorhanden], sonst Zeile ungebrochenbreak-word
: Unterbricht die Zeile am Ende der letzten Wortanpassung innerhalb des Containers [falls vorhanden], sonst am Ende des Containersbreak-all
: Unterbricht die Zeile bei Ende des Containers [kann ein Wort teilen, auch bei Leerzeichen in der Nähe]Überlaufumbruch (Legacy-Name: Zeilenumbruch)
normal
(Standard): Unterbricht die Zeile am Ende der letzten Wortanpassung innerhalb des Containers [falls vorhanden], sonst Zeile ungebrochenbreak-word
: Unterbricht die Zeile am Ende der letzten Wortanpassung innerhalb des Containers [falls vorhanden], sonst am Ende des Containers [falls nicht vorhanden] -flex container], sonst Zeile ungebrochenanywhere
: Unterbricht die Zeile am Ende der letzten Wortanpassung innerhalb des Containers [falls vorhanden], sonst am Ende des Containers [so wieword-break: break-word
]Beachten Sie, dass für
overflow-wrap: break-word
(wie bei jeder Kombination, bei der die Linien für den Container zu lang bleiben) die ununterbrochene Linie dazu führen kann, dass sich ein Flex-Container über das angegebene Flex-Verhältnis hinaus ausdehnt (wodurch andere Flex-Container schrumpfen müssen, um den zu langen Inhalt zu berücksichtigen).quelle