Was ist das Gegenteil von einem nbsp?


86

Ein  Zeichen ist ein Leerzeichen, das keinen Zeilenumbruch zulässt.

<p>lorem ipsum here&nbsp;are&nbsp;some&nbsp;words and so on</p>

| lorem ipsum                |
| here are some words and so |
| on                         |

Was ist das Gegenteil davon? Das heißt, ein Zeichen, das NICHT als Leerzeichen gerendert wird, sondern zum Zeilenumbruch verwendet werden kann.

<p>foo supercalifragilisticexpialidocious bar</p>
<!--   put char here ^   and here ^ -->

|foo supercalifragi |
|listicexpiali      |
|docious bar        |

or with wider size:

|foo supercalifragilisticexpiali   |
|docious bar                       |

Ich bin mir des weichen Bindestrichs bewusst , aber für meine Zwecke möchte ich ausdrücklich nicht, dass in der Pause ein Bindestrich hinzugefügt wird.

Antworten:


96

Sie möchten das Unicode-Zeichen ZERO-WIDTH SPACE (\ u200B).

Sie können es in HTML mit &#8203;oder erhalten &#x200b;.

Explizite Pausen und Nicht-Pausen:

LB7: Nicht vor Leerzeichen oder Leerzeichen mit der Breite Null brechen.
LB8: Brechen Sie vor einem Zeichen nach einem Leerzeichen mit der Breite Null, auch wenn ein oder mehrere Leerzeichen eingreifen.
http://unicode.org/reports/tr14/


Ich habe dies getestet, es wird in Firefox 3.5.7 kein Zeilenumbruch erzeugt.
Mittag Seide

19
Es ist nicht dazu gedacht, einen expliziten Zeilenumbruch zu erzeugen. Es soll einen Punkt anzeigen, an dem die Linie umbrochen werden kann , wenn sie zu lang ist, um überall hinein zu passen.
Anon.

13
Nun, das ist IE6 für dich.
Mike Weller

2
Also ... dieser Charakter kann böse sein, denn wenn Sie Inhalte kopieren, die ihn enthalten (in Unicode-fähigen Editoren, die gerne mitspielen), werden Sie sich seiner Anwesenheit nicht bewusst sein und z. B. ersticken Compiler daran. schwer. Zum Beispiel sagt Chrome Ihnen "ILLEGAL CHARACTER", weist Sie jedoch nicht darauf hin, wo es sich befindet. Ich würde diesen zugegebenermaßen ordentlichen Trick als allerletzten Ausweg verwenden
Steven Lu

1
Die sichtbare Alternative ist ein Bindestrich.
Davidcondrey

38

Es gibt auch das wenig bekannte wbr-Tag , mit dem der Browser entscheiden kann, ob die Linie unterbrochen werden soll oder nicht.


1
Es ist zu beachten, dass dies nicht dem Standard entspricht und nicht in allen Browsern unterstützt wird.
Brian Campbell

1
@Brian, überprüfen Sie den Quirksmode-Link, den Fredden gepostet hat.
Nickf

10
Wenn es gut genug für Facebook ist, ist es gut genug für jeden ;-)
Martin Bean

1
WBR funktioniert in Chrome 34.0.1847.131 m, Firefox 29.0.1 und Opera Chromium 12.17. Es funktioniert nicht in IE 11.0.9600.17105.
Dave Burton

fügt <wbr> ein hinzu -?
beppe9000

16

Es gibt eine schöne Seite bei quirksmode.org, die diese Frage meiner Meinung nach ganz gut beantwortet. http://www.quirksmode.org/oddsandends/wbr.html

Kurz gesagt: Verwenden Sie <wbr /> oder & # 8203; (oder & schüchtern; aber Sie haben erwähnt, dass Sie den Bindestrich nicht wollen).


Nicht alle diese Möglichkeiten werden von allen Browsern unterstützt. Ich denke & # 8203; ist die beste Lösung, da die meisten Browser Unicode erkennen sollten.
AndiDog

und IE6-Benutzer bekommen anscheinend eine hässliche Glyphe ... mein Herz weint.
Nickf


1

Sie können die CSS3-Eigenschaft namens Zeilenumbruch verwenden

p.test {word-wrap:break-word;}

Ich hoffe es hilft!


2
Dies funktioniert nur, wenn es Ihnen egal ist, wo der Zeilenumbruch hinzugefügt wird.
JJJ

Die Frage ist, eine Position in einem bestimmten Wort festzulegen, an der unterbrochen werden soll, und nicht, wie eine Arbeitspause im Allgemeinen aktiviert werden soll.
Frode Evensen

-5

Es gibt viele Diskussionen darüber, aber die Verwendung ist mehr oder weniger zum Standard geworden &shy;


5
Dies ist ein weicher Bindestrich, den der Fragesteller nicht wollte.
Mechanische Schnecke
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.