CSS3-Silbentrennung mit Hyphens

Wer auf seiner Homepage Blocksatz verwendet, damit der Text rechts und links am Rand klebt, der kennt sicherlich das Problem, dass dadurch manchmal unschöne größere "Lücken" in der Textdarstellung innerhalb der Zeile entstehen, die meistens durch längere Wörter ausgelöst werden, die nicht mehr in die aktuelle Zeile passen.

CSS3 ermöglicht es mit der Eigenschaft hypens dieses Problem einzudämmen, indem bei den Wörtern am Ende der Zeile eine Silbentrennung durchgeführt wird.

Automatische Silbentrennung mit CSS3

Die CSS3-Eigenschaft hyphens ermöglicht es, dass bei Wörtern am Ende der Textzeile automatisch eine Silbentrennung durchgeführt wird. Diese sorgt wiederum dafür, dass die Wörter am Ende der Zeile kürzer sind und man sich nicht mehr mit Lücken im Text herum ärgern muss. Die Silben werden durch Bindestriche umgebrochen. Die Integration in das bestehende Stylesheet der Homepage ist zwar ziemlich einfach, aber leider gibt es da noch ein kleines Problem:

Bis jetzt unterstützen nur der Internet Explorer 10, Mozilla Firefox, Safari und der mobile Browser Safari für Apple iOS diese Eigenschaft. Bei allen anderen Browsern wird der Text immer noch ganz normal in Blocksatz ohne Silbentrennung angezeigt. Man kann nur hoffen, dass bald die anderen Browserhersteller diese Eigenschaft in ihre Browser integrieren. Bis dahin vergeht aber sicherlich noch eine Menge Zeit. Was aber verwundert, ist, dass der Browser vom Internetgiganten Google diese Eigenschaft immer noch nicht unterstützt. 😲

CSS3-Hyphens im Stylesheet

Damit die automatische Silbentrennung auch funktioniert, gibt es noch eine kleine Voraussetzung: im HTML-Dokument muss die Sprache angegeben werden. Bei einem HTML5-Dokument wäre das das lang-Attribut im <html>-Tag. Ansonsten funktioniert die Silbentrennung nicht, da der Browser dann logischerweise nicht weiß, in welcher Sprache der Text verfasst ist, auf die er die Silbentrennung anwenden soll. Im folgenden der CSS-Code zum Einbinden in die CSS-Datei:

body {
	text-align: justify;
	hyphens: auto;
	-webkit-hyphens: auto;
	-moz-hyphens: auto;
	-ms-hyphens: auto;
}

Und noch einmal kurz das Beispiel, wie man die Sprache im HTML5-Doctype über das lang-Attribut auf Deutsch setzt (falls noch nicht vorhanden):

<html lang="de">

Weiterführende Links

Hinweis:
Dies ist ein älterer Artikel von meinem alten Blog. Die Kommentare zu diesem Artikel werden (falls vorhanden) später noch hinzugefügt.

Der Autor

Unter dem Namen »TheBlackPhantom« alias »BlackY« veröffentlichte ich auf meinem alten Blog, BlackPhantom.DE, in der Zeit von 2011 bis 2015 leidenschaftlich Beiträge über Computer, Internet, Sicherheit und Malware. Während der BlackPhantom-Zeit war ich noch grün hinter den Ohren und lernte viel dazu. Mehr Infos vielleicht in Zukunft...