The StyleWorksCSS { Referenz · Labor · Übungen }
  1. Startseite
  2. Referenz
  3. Druck-Pseudoklassen

CSS 2.1 · Pseudoklasse

Pseudoklasse Druck-Pseudoklassen

Vollreferenz zu Druck-Pseudoklassen aus CSS 1 und CSS 2.1 mit Syntax, Bedeutung, Beispiel und Browserunterstützung.

Erstveröffentlichung Lesezeit 3 min
stylesheet.css · Druck-Pseudoklassen
@page :first {
  outline: 2px solid #7A2FB0;
}

Überschrift

Erster Absatz direkt nach der Überschrift, mit einem Link und einem Zitat.

Zweiter Absatz, Klasse extra.

  • Erster Listenpunkt
  • Zweiter Listenpunkt mit Link
  • Dritter Listenpunkt

Dritter Absatz, ohne Klasse.

Selektor@page :first
Treffer–
Spezifität–

Allgemeines

Diese Pseudoklassen dienen dazu, Druckseiten abhängig davon, wo sie im Ausdruck auftreten, anders zu formatieren. Ähnlich den Pseudoelementen :first-line oder :first-letter lassen sich mit Hilfe der Druck-Pseudoklassen Teile des ausgegebenen Textes besonders formatieren. Die Grenzen dieses besonders formatierten Textes sind nicht im Dokumentstammbaum festgelegt, sondern ergeben sich erst bei der Ausgabe.

Für Druck-Pseudoklassen sind drei Selektoren möglich:

  • :first
  • :right
  • :left

Pseudoklasse :first

Mit dieser Pseudoklasse lassen sich besondere Formatierungen für die erste Seite eines Druckes realisieren. Bei doppelseitigem Druck legt das Anwenderprogramm fest, ob die erste Seite eine rechte oder linke Seite ist. Dies hängt davon ab, welche generelle Schreibrichtung (rtl oder ltr) im Dokument vorgegeben ist. In jedem Fall hat :first Vorrang vor :left und :right.

Möchte man dennoch die erste Druckseite als eine linke oder rechte Seite ausgegeben haben, fügt man vor dem Textbeginn einen Seitenumbruch ein, denn die Formatierung als 'erste Seite' gilt nur bis zum ersten Seitenumbruch.

Pseudoklassen :right und :left

Das Anwenderprogramm befolgt die hier gemachten Anweisungen in jedem Fall, auch wenn der angeschlossene Drucker nur einseitig druckt. Ob das Ausgabemedium ein- oder beidseitig bedruckt wird, lässt sich mittels CSS nicht beeinflussen.

Eigenschaften, die durch eine @page-Regel mit :left oder :right definiert wurden, haben Vorrang vor Eigenschaften, die durch eine @page-Regel ohne Pseudoklassen definiert wurden.

Code-Beispiel

@page :right { margin: 0 0 0 5mm; }
@page :left { margin: 0 5mm 0 0; }

Browserunterstützung

 
Die Unterstützung der Eigenschaften zur Drucksteuerung ist zur Zeit noch zu lückenhaft für die Produktion, sodass sich eine detaillierte Erläuterung noch nicht lohnt. Es sind aber andererseits auch keine negativen Auswirkungen dieser Eigenschaften bekannt.

Pseudoklassen, die keine Elemente meinen

Alle anderen Pseudoklassen dieser Referenz schränken eine Menge von Elementen ein. Diese drei tun etwas anderes: sie hängen an der At-Regel für Seiten und schränken eine Menge von Seiten ein. Ihr Gegenstand ist keine Box im Dokument, sondern eine Seite, die erst bei der Ausgabe entsteht.

Damit unterscheidet sich auch, worauf sie sich beziehen. Ein Element gibt es im Dokumentbaum, es lässt sich zählen und benennen. Eine Seite gibt es erst, wenn feststeht, wie viel Inhalt auf eine Seite passt, und das hängt vom Papierformat, von der Schriftgröße und vom Umbruch ab. Die Auswahl geschieht also über etwas, das im Dokument nirgends steht.

Die Seite zieht selbst den Vergleich zu den Pseudoelementen für die erste Zeile und den ersten Buchstaben, und er trifft den Kern: auch deren Grenzen ergeben sich erst bei der Ausgabe und stehen nicht im Dokumentbaum.

Was sich damit einstellen lässt

Der Umfang ist in CSS 2.1 eng. Innerhalb der At-Regel sind im Wesentlichen die Ränder der Seitenbox einstellbar; Eigenschaften, die einen Inhalt oder ein Element voraussetzen, haben hier keinen Gegenstand. Die drei Pseudoklassen erlauben also, diese Ränder für bestimmte Seiten anders zu wählen, und mehr zunächst nicht.

Das reicht für die beiden Fälle, die im Buchsatz zählen. Die erste Seite bekommt einen anderen Aufbau als die folgenden, und linke und rechte Seiten bekommen spiegelbildliche Ränder, damit der Abstand zur Bindung auf beiden Seiten stimmt.

Was fehlt, ist alles, was in einem gedruckten Buch sonst noch am Seitenrand steht: Seitenzahlen, Kolumnentitel, Marginalien. Dafür wurde das Seitenmodell später um Randbereiche erweitert, die eigene Inhalte aufnehmen können und sich mit denselben Pseudoklassen ansprechen lassen. Erst damit wird aus der Seitenbox eine vollständige Buchseite.

Zu beachten ist, dass die erste Seite zugleich eine linke oder rechte ist. Trifft eine Regel für die erste Seite mit einer Regel für rechte Seiten zusammen, gelten beide, und bei widersprüchlichen Angaben entscheidet die Kaskade wie sonst auch. Wer die erste Seite gesondert behandelt, notiert ihre Regel deshalb nach den allgemeinen.

Besonderheiten im Medientyp handheld

Diese Pseudo-Klasse ist nicht Teil des Standards CSS Mobile Profile 1.0. Auch von einer Umsetzung durch einzelne Mobilgeräte ist nichts bekannt.

Wechselwirkungen:

direction
@page

Ausblick

CSS3 wird wahrscheinlich die hier genannten Pseudoklassen nicht weiter unterstützen, sondern stattdessen 'named strings' einführen. Der Entwicklungsprozess ist aber noch weit in den Anfängen.

Verwendete Standards

Dieser CSS-Referenz liegen folgende Spezifikationen zugrunde: CSS 1, CSS 2.1 CR und CSS Mobile.