Umgang mit geschützten Leerzeichen:   vs.

Lesezeit: 2 Minuten

Benutzer-Avatar
Greifer

  ist ein geschütztes Leerzeichen, das ein Leerzeichen darstellt, in dem kein Zeilenumbruch auftritt.

Wenn ich benutze

<p>&nbsp;</p>

Ich habe ein Leerzeichen zwischen zwei Passagen (größere Pause). Wenn ich benutze

<p> </p>

Ich habe nur eine neue Zeile zwischen den beiden Passagen (kein Umbruch). Wieso den?

  • Ein Teil des Problems besteht darin, dass Sie ein leeres Absatzelement zwischen Absätzen erstellen möchten, während der richtige Weg, um einen Abstand zwischen ihnen zu erhalten, die Verwendung von CSS ist.

    – Markus Unterwaditzer

    5. September 2012 um 10:50 Uhr


  • Oder <br /> aber da der Code von einem WYSISWG-Editor generiert wird, habe ich nicht so viel Einfluss darauf.

    – Greifer

    5. September 2012 um 10:56 Uhr

Benutzer-Avatar
BoltClock

In HTML werden Elemente, die nur normale Leerzeichen enthalten, als leer betrachtet. Ein Absatz, der nur ein normales Leerzeichen enthält, hat eine Höhe von Null. Ein geschütztes Leerzeichen ist eine besondere Art von Leerzeichen, das nicht als unbedeutend angesehen wird, sodass es als Inhalt für einen nicht leeren Absatz verwendet werden kann.

Selbst wenn Sie CSS-Ränder für Absätze berücksichtigen, da ein “leerer” Absatz keine Höhe hat, werden seine vertikalen Ränder dies tun Zusammenbruch. Dadurch hat es keine Höhe und keine Ränder, sodass es so aussieht, als wäre es nie da gewesen.

  • Leer bedeutet, dass dieses Element nicht dargestellt wird?

    – Greifer

    5. September 2012 um 10:44 Uhr

  • es wird dargestellt, nimmt aber keinen Platz ein, da es eine Höhe von 0 hat.

    – Claudius Creanga

    5. September 2012 um 10:53 Uhr

  • @Nik-Lz es ist immer noch im DOM vorhanden, was ich unter “repräsentiert” verstehe.

    – dev_willis

    31. Januar 2019 um 4:29 Uhr

Benutzer-Avatar
Roshdy

Wie wäre es mit einer Problemumgehung? In meinem Fall habe ich den Wert des Textbereichs in eine jQuery-Variable übernommen und alle geändert "<p>&nbsp" zu <p class="clear"> und klare Klasse, um eine bestimmte Höhe und einen bestimmten Rand zu haben, wie im folgenden Beispiel:

jQuery

tinyMCE.triggerSave();
var val = $('textarea').val();
val = val.replace(/<p>&nbsp/g, '<p class="clear">');

Der Wert wird dann mit dem neuen Wert in der Datenbank gespeichert.

CSS

p.clear{height: 2px; margin-bottom: 3px;}

Sie können die Höhe und den Rand nach Belieben anpassen. Und da ‘p’ ein ist Bildschirmsperre Element. es sollte Ihnen die erwartete Ausgabe geben.

Ich hoffe, das hilft!

Wenn ich dein Problem verstehe, sollte das funktionieren

&emsp – das em-Leerzeichen; dies sollte ein sehr breiter Raum sein, typischerweise bis zu vier reale Räume. &ensp – das en-Leerzeichen; Dies sollte ein etwas breiter Raum sein, ungefähr zwei regelmäßige Räume. &thinsp – dies wird ein schmaler Raum sein, noch enger als ein normaler Raum.

Quellen: http://hea-www.harvard.edu/~fine/Tech/html-sentences.html

1302790cookie-checkUmgang mit geschützten Leerzeichen:   vs.

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy