Ein Print-Layout mit Bootstrap 4

Ein Print-Layout mit Bootstrap 4

Bootstrap 4 bringt einige Funktionen mit, um Layouts von Webseiten für das Drucken fit zu machen. So werden z.B. Navigationen standardmäßig im Print-Layout ausgeblendet. Es lassen sich aber auch beliebig alle anderen Elemente aus- oder einblenden.

https://getbootstrap.com/docs/4.1/utilities/display/#display-in-print dokumentiert dieses Feature.

Elemente ausblenden

Das Ausblenden könnte nicht einfacher sein. Es reicht das Hinzufügen einer einzigen CSS-Klasse.

<div class="d-print-none">
    ...
</div>

Zusätzliche Tweaks

Mit den Klassen, die Bootstrap anbietet lässt sich enormer Einfluss auf das Browserverhalten des Print-Layouts nehmen. Ich brauchte für meinen eigenen Blog aber noch ein paar kleine zusätzliche Tweaks.

@media print {
    .print-hide-background {
        background-image: none !important;
        background-color: transparent !important;
    }

    .print-page-break-after {
        page-break-after: always;
    }

    .print-page-break-before {
        page-break-before: always;
    }

    .print-color-black {
        color: black !important;
    }

    code, pre {
        border: none !important;
    }
}

 

Mit .print-hide-background lassen sich Hintergrundbilder und Farben entfernen. Das spart Tinte.

.print-page-break-after und print-page-break-before fügt einen Seitenumbruch in der Druckansicht ein. Das Layout auf den Seiten kann so bei z.B. Überschriften sauberer Verteilt werden, wenn man einen längeren Text geschrieben hat.

.print-color-black kann genutzt werden um helle Schriften dunkel zu machen.

Fazit

CSS eignet sich hervorragend um aus einer Webseite beim Drucken einen schönen, aufgeräumten Text auszudrucken. Bootstrap nimmt einem einiges an Arbeit ab. Probiert es einfach aus. STRG + P und sehen was passiert.

 

Marcel Melzig

Softwareentwicklung in C# .NET, ASP.NET MVC, PHP, Javascript, HTML, CSS, Java

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert