| # Layouts für Printmedien
| Allgemeines zu Seiten-Layout und Seitenumbruch @page (Seiten-Layout definieren) size (Seitengröße) margin (Seitenränder) marks (Schnitt- und Passermarken) Seiten rechts/links und erste Seite page-break-before (Seitenumbruch vor einem Element) page-break-after (Seitenumbruch nach einem Element) page-break-inside (Seitenumbruch innerhalb eines Elements) orphans (Alleinstehende Zeilen am Seitenende) widows (Alleinstehende Zeilen am Seitenanfang) Benannte Seiten

## Allgemeines zu Seiten-Layout und Seitenumbruch

Die hier beschriebenen Stylesheet-Angaben eröffnen HTML und seiner Ergänzungssprache CSS völlig neue Räume, denn mit diesen Angaben wird es möglich, Druck-Layouts zu definieren. Die Möglichkeit des zweigleisigen Editierens wird auch durch die Möglichkeit unterstützt, verschiedene Stylesheets für unterschiedliche Ausgabemedien zu definieren, wie im Abschnitt Stylesheets in HTML einbinden beschrieben.

Die Stylesheet-Angaben zu Seiten-Layout und Seitenumbruch sind jedoch nicht nur für Druckerzeugnisse interessant. Ein entsprechendes Präsentationswerkzeug bzw. ein entsprechend ausgerichteter Web-Browser könnte diese Angaben auch zur bildschirmseitenorientierten Präsentation benutzen.

Von den Eigenschaften interpretiert der Internet Explorer seit Version 4.x lediglich diejenigen für den Seitenumbruch. Nur Opera unterstützt einen Großteil der Eigenschaften.

## @page (Seiten-Layout definieren)

Ein Seiten-Layout wird in einem zentralen `style`-Bereich definiert.

### Beispiel:

    <style type="text/css">
      @page { /* Angaben zum Seiten-Layout */ }
    </style>

### Erläuterung:

Mit `@page` können Sie ein Seiten-Layout erstellen. Die Angabe ist ein Behälter für die einzelnen Angaben zum Aussehen des Layouts. Dazu gehören Eigenschaften wie size (Seitengröße), margin (Seitenränder) und bei Bedarf auch Angaben zu marks (Registermarken). Diese Angaben stehen in den geschweiften Klammern im Anschluss an `@page`.

### Beachten Sie:

`@page` stellt sicher, dass sich die Definitionen zum Seiten-Layout in den geschweiften Klammern nur auf "seiten-orientierte" Medien beziehen und vom WWW-Browser nicht irrtümlich als Definitionen für das normale Erscheinungsbild der HTML-Datei am Bildschirm interpretiert wird. So können Sie mit dieser Angabe z.B. völlig unabhängig von sonstigen Stylesheet-Angaben im gleichen Bereich ein Seiten-Layout für den Ausdruck Ihrer Web-Seiten erstellen.

## size (Seitengröße)

Sie können bestimmen, welche Breite und Höhe Ihr Seiten-Layout haben soll. Für Druckdokumente definieren Sie auf diese Weise das gewünschte Papierformat. Für bildschirmseitenorientierte Präsentationen können Sie die Größe aller Bildschirmseiten festlegen.

### Beispiel:

Anzeigebeispiel: So sieht's aus

    <html><head><title>size</title>
    <style type="text/css">
      @page { size:landscape; }
    </style>
    </head><body>

    <p>Diese Seite erscheint an Ihrem Bildschirm genau so wie sonst.
    Wenn Ihr Browser jedoch die Stylesheet-Angaben zum Seiten-Layout kennt,
    versuchen Sie mal, diese Datei &uuml;ber den normalen Druckbefehl Ihres
    Browsers auszudrucken.</p>

    </body></html>

### Erläuterung:

Mit `size:` können Sie im Anschluss an `@page` die Seitengröße definieren. Erlaubt sind zwei numerische Angaben, durch ein Leerzeichen voneinander getrennt. Dabei bedeutet die erste Angabe die Breite der Seite (z.B. `21.0cm`) und die zweite Angabe die Höhe der Seite (z.B. `29.7cm`). Ferner sind folgende Angaben erlaubt:

`auto` = Das normale Format des Ausgabemediums (Normaleinstellung).
`landscape` = Das normale Format des Ausgabemediums, bei rechteckigem Format jedoch querkant.
`portrait` = Das normale Format des Ausgabemediums, bei rechteckigem Format jedoch hochkant.

## margin (Seitenränder)

Sie können die Abstände zwischen Seitenrand und Seiteninhalt festlegen.

### Beispiel:

Anzeigebeispiel: So sieht's aus

    <html><head><title>margin (page)</title>
    <style type="text/css">
    @page { size:21.0cm 14.85cm;
            margin-top:5.7cm;
            margin-bottom:1.4cm;
            margin-left:2cm;
            margin-right:2cm
    }
    </style>
    </head><body>

    <p>Diese Seite erscheint an Ihrem Bildschirm genau so wie sonst.
    F&uuml;r den Ausdruck wurden jedoch Abst&auml;nde zwischen
    Seiteninhalt und Seitenrand festgelegt.</p>

    </body></html>

### Erläuterung:

Um die Seitenränder einzeln zu definieren, stehen folgende Angaben zur Verfügung:

`margin-top` = oberer Seitenrand.
`margin-bottom` = unterer Seitenrand.
`margin-left` = linker Seitenrand.
`margin-right` = rechter Seitenrand.

Wenn Sie für alle vier Seitenränder einen einheitlichen Wert definieren wollen, können Sie anstelle dieser Angaben auch die Angabe `margin` verwenden.

Für alle Seitenrandangaben ist eine eine numerische Angabe erlaubt.

### Beachten Sie:

Diese Angaben haben keinen Einfluss auf Seitenränder bei der normalen Browser-Präsentation am Bildschirm, da sie hinter der Seiten-Layout-Angabe `@page` stehen. Für die normale HTML-Präsentation im WWW-Browser gibt es entsprechende Stylesheet-Angaben zu Abstand/Rand.

## marks (Schnitt- und Passermarken)

Schnittmarken (engl. crop marks) sind Hilfslinien, die bei der Weiterverarbeitung in Belichtung und Druck zum Zuschneiden von Seiten benutzt werden.

Passermarken, auch Registermarken (engl. cross marks oder register marks) sind Markierungen zum exakten Ausrichten des Satzspiegels bei Belichtung und Druck.

Wenn Sie also beispielsweise ein Seitenformat von 10.8cm mal 18.2cm definieren und dieses auf DIN A 4-Papier ausdrucken, können Sie solche Marken setzen, die sichtbar im Ausdruck erscheinen und für die Satzspiegelvorbereitung in der Belichtung oder in der Druckerei das genaue Seitenformat anzeigen.

### Beispiel:

Anzeigebeispiel: So sieht's aus

    <html><head><title>marks</title>
    <style type="text/css">
    @page { size:11.3cm 19.85cm; margin:1.7cm; marks:cross;  }
    </style>
    </head><body>

    <p>Diese Seite erscheint an Ihrem Bildschirm genau so wie sonst.
    F&uuml;r Printmedienverarbeitung wurden jedoch Passermarken gesetzt.</p>

    </body></html>

### Erläuterung:

Mit `marks:` können Sie im Anschluss an `@page` Schnitt- und Passermarken definieren. Folgende Angaben sind erlaubt:

`none` = Keine Marken (Normaleinstellung).
`crop` = Schnittmarken setzen.
`cross` = Passermarken setzen.

Die Angaben `crop` und `cross` können Sie beide angeben, durch Leerzeichen getrennt. Dann werden beide Markentypen berücksichtigt.

## Seiten rechts/links und erste Seite

Sie können für linke und rechte Seiten sowie für die erste Dokumentseite unterschiedliche Angaben notieren. Dadurch können Sie beispielsweise Heft- oder Binderänder ausgleichen.

### Beispiel:

Anzeigebeispiel: So sieht's aus

    <html><head><title>Seiten rechts/links</title>
    <style type="text/css">
      @page { size:21.0cm 14.85cm; margin-top:1.5cm; margin-bottom:2cm  }
      @page :left { margin-left:1.5cm; margin-right:2cm  }
      @page :right { margin-left:2cm; margin-right:1.5cm  }
    </style>
    </head><body>

    <p>Das hier ist die eine Seite.</p>
    <p style="page-break-before:always">Das hier die andere (wegen erzwungenem Seitenumbruch)</p>
    <p>Die beiden Seiten haben unterschiedliche Seitenr&auml;nder.</p>

    </body></html>

### Erläuterung:

Unterschiedliche Seiten für rechts und links erzeugen Sie, indem Sie hinter `@page`, getrennt durch ein Leerzeichen, einen Doppelpunkt norieren und sofort dahinter eines der Schlüsselwörter `left` (zur Bezeichnung linker Seiten), `right` (zur Bezeichnung rechter Seiten) oder `first` (zur Bezeichnung der ersten Seite) angeben. Dahinter können Sie in geschweiften Klammern Angaben zu Größe, Seitenrändern und Schnitt-/Passermarken für die beiden Seitentypen notieren. In der Praxis ist die Unterscheidung vor allem nützlich, um (wie im obigen Beispiel) spiegelverkehrte Werte zum rechten und linken Seitenrand anzugeben. So lassen sich Heft-/Binderänder ausgleichen.

## page-break-before (Seitenumbruch vor einem Element)

Sie können einen Seitenumbruch vor einem HTML-Element erzwingen oder verhindern.

### Beispiel:

Anzeigebeispiel: So sieht's aus

    <html><head><title>page-break-before</title>
    </head><body>

    <h1>Die erste Seite</h1>
    <p>und ihr Text</p>
    <h2 style="page-break-before:always">Und die zweite Seite</h2>
    <p>und ihr Text</p>

    </body></html>

### Erläuterung:

Mit `page-break-before:` können Sie einen Seitenumbruch vor dem aktuellen Element erzwingen oder auch verhindern. Folgende Angaben sind erlaubt:

`always` = immer einen Seitenumbruch vor dem aktuellen Element einfügen.
`avoid` = nie einen Seitenumbruch vor dem aktuellen Element einfügen.
`left` = bei linken/rechten Seiten Seitenumbruch einfügen, aktuelles Element auf nächste linke Seite.
`right` = bei linken/rechten Seiten Seitenumbruch einfügen, aktuelles Element auf nächste rechte Seite.
`inherit` = Angabe zum Seitenumbruch vom Elternelement übernehmen (erben).
`auto` = keine Angabe zum Seitenumbruch (Normaleinstellung).

### Beachten Sie:

Safari 1.2 interpretiert nur die Werte `auto` und `always`.

## page-break-after (Seitenumbruch nach einem Element)

Sie können einen Seitenumbruch nach einem HTML-Element erzwingen oder verhindern.

### Beispiel:

Anzeigebeispiel: So sieht's aus

    <html><head><title>page-break-after</title>
    <style type="text/css">
    h2 { page-break-after:avoid; }
    </style>
    </head><body>

    <h1 style="margin-bottom:18cm;">
    &Uuml;berschrift ersten Grades mit <code>18cm</code> Au&szlig;enabstand unten.
    </h1>

    <h2>&Uuml;berschrift zweiten Grades</h2>
    <p>Direkt nach einer &Uuml;berschrift zweiten Grades darf kein Seitenumbruch erfolgen.</p>

    </body></html>

### Erläuterung:

Mit `page-break-after:` können Sie einen Seitenumbruch nach dem aktuellen Element erzwingen oder auch verhindern. Folgende Angaben sind erlaubt:

`always` = immer einen Seitenumbruch nach dem aktuellen Element einfügen.
`avoid` = nie einen Seitenumbruch nach dem aktuellen Element einfügen.
`left` = bei linken/rechten Seiten Seitenumbruch einfügen, nachfolgendes Element auf nächste linke Seite.
`right` = bei linken/rechten Seiten Seitenumbruch einfügen, nachfolgendes Element auf nächste rechte Seite.
`inherit` = Angabe zum Seitenumbruch vom Elternelement übernehmen (erben).
`auto` = keine Angabe zum Seitenumbruch (Normaleinstellung).

### Beachten Sie:

`page-break-after:avoid` wird nur von Opera 7 interpretiert. Safari 1.2 interpretiert nur die Werte `auto` und `always`.

## page-break-inside (Seitenumbruch innerhalb eines Elements)

Sie können einen Seitenumbruch innerhalb eines HTML-Elements verhindern.

### Beispiel:

Anzeigebeispiel: So sieht's aus

    <html><head><title>page-break-inside</title>
    </head><body>

    <p style="height:90%; border:1px solid #f00">Platzhalter</p>

    <p style="page-break-inside:avoid">
      Innerhalb<br>dieses<br>Abschnitts<br>darf<br>kein<br>Seitenumbruch<br>erfolgen.<br>
      Er wandert daher beim Ausdruck auf die n&auml;chste Seite.
    </p>

    </body></html>

### Erläuterung:

Mit `page-break-inside` können Sie einen Seitenumbruch innerhalb eines Elements verhindern. Folgende Angaben sind erlaubt:

`avoid` = nie einen Seitenumbruch innerhalb des aktuellen Elements einfügen.
`auto` = keine Angabe zum Seitenumbruch (Normaleinstellung).

## orphans (Alleinstehende Zeilen am Seitenende)

Sie können verhindern, dass Seitenumbrüche innerhalb von Fließtext den Text so unglücklich trennen, dass eine einzelne Zeile auf der einen Seite steht und alle anderen Absatzzeilen auf die nächsten Seite kommen (DTP-Fachjargon hierzulande: Schusterjungen).

### Beispiel:

Anzeigebeispiel: So sieht's aus

    <html><head><title>orphans</title>
    <style type="text/css">
     p,blockquote { orphans:3; }
    </style>
    </head><body>

    <h1>Zu dieser Seite</h1>
    <p>Auf dieser Seite gibt es Abs&auml;tze.</p>
    <blockquote>und Zitate</blockquote>
    <p>Und alle haben gemeinsam: keiner wird ungl&uuml;cklich getrennt!</p>

    </body></html>

### Erläuterung:

Mit `orphans:` können Sie bestimmen, wie viele Zeilen eines längeren Fließtextabsatzes auf der Seite vor dem Umbruch mindestens stehen sollen. Erlaubt ist eine Zahl für die Anzahl Zeilen. Voreinstellung ist 2.

## widows (Alleinstehende Zeilen am Seitenanfang)

Sie können verhindern, dass Seitenumbrüche innerhalb von Fließtext den Text so unglücklich trennen, dass eine einzelne Zeile auf der neuen Seite steht und alle anderen Absatzzeilen auf der Seite vor dem Seitenumbruch bleiben (DTP-Fachjargon hierzulande: Hurenkinder).

### Beispiel:

Anzeigebeispiel: So sieht's aus

    <html><head><title>widows</title>
    <style type="text/css">
     p,blockqoute { widows:3; }
    </style>
    </head><body>

    <h1>Zu dieser Seite</h1>
    <p>Auf dieser Seite gibt es Abs&auml;tze.</p>
    <blockquote>und Zitate</blockquote>
    <p>Und alle haben gemeinsam: keiner wird ungl&uuml;cklich getrennt!</p>

    </body></html>

### Erläuterung:

Mit `widows:` können Sie bestimmen, wie viele Zeilen eines längeren Fließtextabsatzes auf der Seite nach dem Umbruch auf der neuen Seite mindestens stehen sollen. Erlaubt ist eine Zahl für die Anzahl Zeilen. Voreinstellung ist 2.

## Benannte Seiten

Für spezielle Seitenformate können Sie einzelne, benannte Seitentypen definieren.

### Beispiel:

    <style type="text/css">
      @page querformat { size:landscape; }
      div.uebersicht { page:querformat; /* andere CSS-Angaben */ }
    </style>

### Erläuterung:

Indem Sie hinter `@page` einen selbst vergebenen Namen notieren - im obigen Beispiel ist es der Name `querformat` - können Sie ein spezielles Seiten-Layout erstellen. Innerhalb der geschweiften Klammern können Sie die üblichen Angaben zum Seiten-Layout notieren. Benannte Seiten werden jedoch nicht automatisch verwendet, sondern nur dann, wenn ein Element vorkommt, für das eine CSS-Eigenschaft `page:` notiert ist. Im Beispiel wird für `div`-Elemente mit dem Klassennamen `uebersicht` bestimmt, dass solche Elemente den Seitentyp `querformat` erzwingen. Wenn nun also im HTML-Quelltext steht:
`<div class="uebersicht">...</div>`,
dann wird für die Darstellung dieses Elements der Seitentyp `querformat` erzwungen.

| Sound-Kontrolle für Sprachausgabe
| Positionierung und Anzeige von Elementen

© 2005 Impressum