Benutzer:Christian Seiler/DokuSeite

Aus SELFHTML-Wiki
Wechseln zu: Navigation, Suche

Demo der Seite Zeilenumbruch aus SELFHTML 8.x. Dient zur nur Erläuterung/Erarbeitung der verschiedenen Formatierungen, soll nicht inhaltlich übernommen werden! Die Links zu den weiteren Unterseiten fehlen absichtlich.

Vorlage:TOC limit

Zeilenumbruch erzwingen

{{#MetaDaten:

   Browser = ie1,op512,ff1,konq31,saf1
 | Standards = html2,xhtml1 }}

Text innerhalb von normalen Absätzen, Listen, sowie in Überschriften oder Tabellenzellen wird vom Web-Browser bei der Anzeige automatisch umbrochen. Sie können jedoch an einer gewünschten Stelle einen Zeilenumbruch erzwingen.

Beispiel:

Wie das Problem der Anzeigebeispiele lösen? Sollen wir Syntax-Highlighting verwenden oder nicht?

<html>
<head>
<title>Zeilenumbruch erzwingen</title>
</head>
<body>

<h1>Ottos Brief an die Mutter</h1>
<p>Liebe Mama!</p>
<p>Vor drei Wochen habe ich erfahren,<br>
dass Du krank bist.<br>
Mach' Dir keine Sorgen.<br>
Mir geht es gut.</p>

</body>
</html>

Erläuterung:


(br = break = Umbruch) fügt an der gewünschten Stelle einen Zeilenumbruch ein. Dabei ist es egal, ob das alleinstehende Tag am Ende der vorherigen Zeile steht (wie im Beispiel), oder in einer eigenen Zeile, oder am Anfang der folgenden Zeile.

Beachten Sie:

Wenn Sie XHTML-Standard-konform arbeiten, müssen Sie das br-Element als inhaltsleer kennzeichnen. Dazu notieren Sie das alleinstehende Tag in der Form <br />. Weitere Informationen finden Sie im Kapitel XHTML und HTML.

Automatischen Zeilenumbruch verhindern

{{#MetaDaten:

   Browser = ie2,op512,ff1,konq31,saf1 }}

Sie können einen Textbereich bestimmen, in dem kein automatischer Zeilenumbruch erfolgt. Alles, was innerhalb dieses Bereichs steht, wird in einer langen Zeile angezeigt. Der Anwender kann dann mit der horizontalen Scroll-Leiste die überlangen Textzeile anzeigen.

Diese Möglichkeit gehört jedoch nicht zum offiziellen HTML-Sprachstandard. Sie sollten sie daher vermeiden und die CSS-Eigenschaft white-space verwenden.

Beispiel:

<html>
<head>
<title>Zeilenumbruch verhindern</title>
</head>
<body>

<h1>ARD und ZDF</h1>
<nobr>Die vom ZDF sagen, die vom ARD senden ständig Wiederholungen,
und die vom ARD sagen, die vom ZDF senden ständig Wiederholungen,
und so wiederholen sich ARD und ZDF ständig, ohne überhaupt etwas zu senden.</nobr>

</body>
</html>

Erläuterung:

<nobr> bewirkt, dass der auf das Tag folgende Text nicht umbrochen wird (nobr = no break = kein Umbruch). Am Ende des Textabschnitts, der nicht umbrochen werden soll, notieren Sie das abschließende Tag </nobr>.

Beachten Sie:

Wenn Sie Textzeilen unabhängig vom Anzeigefenster des Anwenders genau kontrollieren wollen und nach HTML-Standard arbeiten wollen, können Sie präformatierten Text einsetzen.

Geschützte Leerzeichen

{{#MetaDaten:

   Browser = ie2,op512,ff1,konq31,saf1
 | Standards = html32,xhtml1 }}

Sie können verhindern, dass bei einem Leerzeichen ein automatischer Zeilenumbruch erfolgen darf.

Beispiel:

<html>
<head>
<title>Geschützte Leerzeichen</title>
</head>
<body>

<h1>Es gibt vieles, worin sich HTML 2.0 und HTML 4.0 unterscheiden.</h1>
<p>(Versuchen Sie zur Kontrolle einmal, das Anzeigefenster so schmal zu machen,
dass der Text des obigen Satzes bei "HTML 2.0" oder "HTML 4.0"
umbrochen wird.)</p>

</body>
</html>

Erläuterung:

Die Zeichenfolge   erzeugt ein geschütztes Leerzeichen (nbsp = nonbreaking space = Leerzeichen ohne Umbruch). Es wird ein normales Leerzeichen angezeigt, doch an dieser Stelle kann kein Zeilenumbruch erfolgen. Notieren Sie die Zeichenfolge inklusive dem "kaufmännischen Und" (&) am Beginn und dem Strichpunkt am Ende. Die gleiche Wirkung erzielen Sie durch Notieren der Zeichenfolge  .

Beachten Sie:

Zu dieser Art von Zeichennotation siehe auch benannte Zeichen für die Zeichenkodierung ISO 8859-1.

Durch Notieren mehrerer solcher benannter Zeichen hintereinander können Sie auch mehrere Leerzeichen in Folge erzwingen.

Zeilenumbruch erlauben

Web-Browser brechen Text normalerweise nur bei Leerzeichen um, weil durch Leerzeichen Wörter voneinander abgegrenzt werden. Sie können explizit weitere Stellen markieren, an denen er den Text umbrechen darf. Sinnvoll ist dies bei langen Wörtern. Dies gilt für alle Absatzarten in HTML.

Beachten Sie bitte die Browserhinweise am Ende dieses Abschnitts.

Beispiel:

<html>
<head>
<title>Zeilenumbruch erlauben</title>
</head>
<body>
<h1>Langes Wort mit bedingtem Umbruch</h1>

<h2>Bedingte Trennung mit <code>&shy;</code></h2>

<p>Donaudampfschiffahrts­kapitänsmütze Donaudampfschiffahrts­kapitänsmütze ... </p>

<h2>Bedingte Trennung mit <code><wbr></code></h2>

<p>Donaudampfschiffahrts<wbr>kapitänsmütze Donaudampfschiffahrts<wbr>kapitänsmütze ... </p>

<h2>Bedingte Trennung mit <code>&#8203;</code></h2>

<p>Donaudampfschiffahrts​kapitänsmütze Donaudampfschiffahrts​kapitänsmütze ... </p>

</body></html>

Erläuterung:

Mit ­ (= soft hyphen = bedingter Trennstrich) markieren Sie eine Stelle, an der getrennt werden darf, falls das Wort bei der Bildschirmanzeige am Ende der Zeile steht und der Platz für eine vollständige Darstellung nicht mehr ausreicht. Der Browser sollte das Wort an dieser Stelle mit einem Umbruch trennen und einen Trennstrich einfügen.

(wbr = word break = Umbruch innerhalb eines Wortes) bewirkt ebenfalls einen optionalen Umbruch, fügt jedoch keinen Trennstrich ein. Innerhalb von Abschnitten mit verhindertem Zeilenumbruch bewirkt , dass an der betreffenden Stelle trotzdem ein Umbruch erfolgen darf. gehört nicht zum offiziellen HTML-Sprachstandard. Sie sollten dieses Element daher vermeiden.

Als Alternative wäre (zero width space = Leerzeichen ohne Breite) denkbar, da bei Leerzeichen grundsätzlich ein Umbruch erfolgen darf. Allerdings erzeugt auch dieses Zeichen keinen Trennstrich und es ist nicht in jeder Schriftart enthalten, was dann zur Darstellung eines Kästchens führt.

Beachten Sie:

Leider ist die Browserunterstützung mangelhaft und es kommt teilweise sogar zu Fehldarstellungen, sodass vom Einsatz in der Praxis abzuraten ist:

&shy; &#8203;
{{#browser:ie3}} fehlerhaft nein fehlerhaft
{{#browser:ie4}} fehlerhaft kein Trennstrich fehlerhaft
{{#browser:ie5}} ja nein fehlerhaft
{{#browser:ie5}} (Mac-Version) fehlerhaft kein Trennstrich fehlerhaft
{{#browser:ie55}}-{{#browser:ie6}} ja kein Trennstrich fehlerhaft
{{#browser:ie7}} ja kein Trennstrich kein Trennstrich
{{#browser:op512}}-{{#browser:op7}} nein nein fehlerhaft
{{#browser:op71}}-{{#browser:op75}} ja nein fehlerhaft
{{#browser:op8}}-{{#browser:op91}} ja nein kein Trennstrich
{{#browser:op512}}-{{#browser:op7}} nein nein fehlerhaft
{{#browser:ff1}}-{{#browser:ff2}} nein kein Trennstrich kein Trennstrich
{{#browser:konq31}}-{{#browser:konq34}} fehlerhaft kein Trennstrich fehlerhaft
{{#browser:saf1}} fehlerhaft nein nein
{{#browser:saf2}} ja nein kein Trennstrich

ja bedeutet, dass ein Umbruch erfolgt und ein Trennstrich sichtbar ist
nein bedeutet, dass die Notation keinerlei Auswirkung auf die Darstellung hat
kein Trennstrich bedeutet, dass zwar ein Umbruch erfolgt, jedoch kein Trennstrich sichtbar ist
fehlerhaft bedeutet, dass immer ein Trennstrich oder ein unerwünschtes Zeichen erscheint und/oder nicht umbrochen wird

Somit existiert derzeit keine Möglichkeit, bedingte Zeilenumbrüche zuverlässig und fehlerfrei einzusetzen.

Weitere Informationen

In der HTML-Referenz finden Sie genaue Angaben darüber, wo Zeilenumbrüche vorkommen dürfen, welche Attribute sie haben können und was bei den einzelnen Attributen zu beachten ist:
Element-Referenz für Zeilenumbrüche
Attribut-Referenz für Zeilenumbrüche