Guida Completa sui Media Pagine CSS per Principianti

Ciao a tutti, aspiranti sviluppatori web! Oggi esploreremo il mondo affascinante dei Media Pagine CSS. Non preoccupatevi se non avete mai sentito parlare di esso prima - inizieremo dalle basi e scaleremo di livello. Alla fine di questo tutorial, sarete in grado di creare splendidi layout di stampa utilizzando CSS. Allora, iniziamo!

CSS - Paged Media

Cos'è il Media Pagine CSS?

Il Media Pagine CSS è un insieme di funzionalità CSS che vi permettono di controllare l'aspetto del vostro contenuto web quando viene stampato o visualizzato in un formato a pagine (come un PDF). È come dare al vostro sito web un restyling per la stampante!

Immaginate di aver creato un bellissimo sito web, ma quando provate a stamparlo, tutto appears disordinato e fuori posto. È qui che il Media Pagine CSS viene in soccorso! Vi aiuta a mantenere il controllo sul vostro layout, anche quando non è su uno schermo.

Proprietà Relate al Media Pagine CSS

Esaminiamo alcune delle proprietà chiave che rendono il Media Pagine CSS magico:

Proprietà Descrizione Esempio
@page Definisce le dimensioni e i margini di una pagina @page { size: A4; margin: 2cm; }
size Imposta la dimensione della casella della pagina size: 8.5in 11in;
marks Aggiunge segni di taglio e/o croce al documento marks: crop cross;
bleed Specifica l'area di出血 per il contenuto stampato bleed: 0.5cm;
page-break-before Controlla le interruzioni di pagina prima di un elemento page-break-before: always;
page-break-after Controlla le interruzioni di pagina dopo un elemento page-break-after: avoid;
page-break-inside Controlla le interruzioni di pagina all'interno di un elemento page-break-inside: avoid;

Vediamo alcuni di questi in azione:

@page {
size: A4;
margin: 2cm;
@top-center {
content: "Il mio documento fantastico";
}
@bottom-right {
content: counter(page);
}
}

h1 {
page-break-before: always;
}

table {
page-break-inside: avoid;
}

In questo esempio, stiamo impostando una pagina A4 con margini di 2cm. Stiamo aggiungendo un'intestazione al centro di ogni pagina e i numeri di pagina in basso a destra. Stiamo anche assicurando che ogni h1 inizi su una nuova pagina e che le tabelle non vengano divise tra pagine.

At-Rules CSS

Le at-rules sono dichiarazioni che indicano a CSS come comportarsi. Iniziano con un segno @ seguita da un identificatore. Esaminiamo alcune at-rules specifiche per i Media Pagine:

At-rule Descrizione Esempio
@page Definisce una casella di pagina per i media a pagine @page :first { margin-top: 10cm; }
@top-left Definisce il contenuto per l'angolo in alto a sinistra della pagina @top-left { content: "Capitolo 1"; }
@top-center Definisce il contenuto per il centro in alto della pagina @top-center { content: "Il mio libro"; }
@top-right Definisce il contenuto per l'angolo in alto a destra della pagina @top-right { content: date("yyyy-mm-dd"); }
@bottom-left Definisce il contenuto per l'angolo in basso a sinistra della pagina @bottom-left { content: "Confidenziale"; }
@bottom-center Definisce il contenuto per il centro in basso della pagina @bottom-center { content: "Copyright 2023"; }
@bottom-right Definisce il contenuto per l'angolo in basso a destra della pagina @bottom-right { content: counter(page); }

Ecco un esempio di come potreste usarli:

@page {
@top-center {
content: "Le avventure di Alice nel Paese delle Meraviglie";
font-family: "Times New Roman", serif;
font-size: 12pt;
}
@bottom-right {
content: "Pagina " counter(page);
}
}

@page :first {
@top-center { content: none; }
@bottom-right { content: none; }
}

In questo esempio, stiamo aggiungendo un'intestazione a ogni pagina con il titolo del libro e i numeri di pagina in basso a destra. Stiamo anche rimuovendo questi elementi dalla prima pagina per un aspetto più pulito della pagina del titolo.

Pseudo-Classi CSS

Le pseudo-classi vengono utilizzate per definire uno stato speciale di un elemento. Nel contesto dei Media Pagine, ci sono diverse pseudo-classi utili:

Pseudo-class Descrizione Esempio
:first Seleziona la prima pagina @page :first { margin-top: 10cm; }
:left Seleziona tutte le pagine sinistre @page :left { margin-left: 4cm; }
:right Seleziona tutte le pagine destre @page :right { margin-right: 4cm; }
:blank Seleziona tutte le pagine vuote @page :blank { @top-center { content: none; } }

Vediamo come possiamo usarle:

@page :first {
margin-top: 10cm;
@top-center { content: none; }
@bottom-right { content: none; }
}

@page :left {
margin-left: 4cm;
margin-right: 3cm;
@top-left {
content: "Le avventure di Alice nel Paese delle Meraviglie";
}
}

@page :right {
margin-left: 3cm;
margin-right: 4cm;
@top-right {
content: "Capitolo " counter(chapter);
}
}

In questo esempio, stiamo creando un layout diverso per la prima pagina, le pagine sinistre e le pagine destre. La prima pagina ha un margine superiore più grande e nessun'intestazione o piè di pagina. Le pagine sinistre hanno il titolo del libro nell'angolo in alto a sinistra, mentre le pagine destre hanno il numero del capitolo nell'angolo in alto a destra.

Conclusione

Eccoci arrivati, ragazzi! Abbiamo intrapreso un viaggio attraverso il meraviglioso mondo dei Media Pagine CSS. Dalla impostazione delle dimensioni e dei margini delle pagine al controllo delle interruzioni di pagina e all'aggiunta di intestazioni e piè di pagina, ora avete gli strumenti per creare bellissimi layout di stampa con CSS.

Ricordate, la pratica fa la perfezione. Provate a sperimentare con queste proprietà e at-rules nei vostri progetti. Potreste sorprendervi di quanto controllo potete avere sui vostri layout di stampa!

Buon codice, e possa la vostra stampa essere sempre nitida e bellissima!

Credits: Image by storyset