Panduan Lengkap CSS Paged Media untuk Pemula

Hai teman-teman pemula pengembang web! Hari ini, kita akan meluncur ke dunia yang menarik dari CSS Paged Media. Jangan khawatir jika Anda belum pernah mendengar tentang ini sebelumnya - kita akan mulai dari dasar dan maju perlahan-lahan. Pada akhir tutorial ini, Anda akan mampu membuat tata letak cetak yang menakjubkan menggunakan CSS. Jadi, mari kita mulai!

CSS - Paged Media

Apa Itu CSS Paged Media?

CSS Paged Media adalah sebuah set fitur CSS yang memungkinkan Anda mengendalikan bagaimana konten web Anda terlihat saat dicetak atau dilihat dalam format berhalaman (seperti PDF). Itu seperti memberikan website Anda sebuah make-over untuk printer!

Imaginasi Anda membuat sebuah website yang indah, tapi saat Anda mencoba mencetaknya, segalanya tampak kacau dan keluar dari tempatnya. Itu di mana CSS Paged Media datang untuk menyelamatkan! Itu membantu Anda mempertahankan kontrol atas tata letak Anda, bahkan saat itu tidak di layar.

Properti Terkait CSS Paged Media

mari kita lihat beberapa properti kunci yang membuat CSS Paged Media berkerja dengan magic:

Properti Deskripsi Contoh
@page Menentukan dimensi dan margin halaman @page { size: A4; margin: 2cm; }
size Menetapkan ukuran kotak halaman size: 8.5in 11in;
marks Menambahkan tanda potong dan/atau silang ke dokumen marks: crop cross;
bleed Menentukan area bleed untuk konten cetak bleed: 0.5cm;
page-break-before Mengendalikan pemisahan halaman sebelum elemen page-break-before: always;
page-break-after Mengendalikan pemisahan halaman setelah elemen page-break-after: avoid;
page-break-inside Mengendalikan pemisahan halaman dalam elemen page-break-inside: avoid;

mari kita lihat beberapa contoh penggunaannya:

@page {
size: A4;
margin: 2cm;
@top-center {
content: "My Awesome Document";
}
@bottom-right {
content: counter(page);
}
}

h1 {
page-break-before: always;
}

table {
page-break-inside: avoid;
}

Dalam contoh ini, kita menetapkan halaman A4 dengan margin 2cm. Kita menambahkan header di bagian atas tengah setiap halaman dan nomor halaman di bagian bawah kanan. Kita juga memastikan bahwa setiap h1 dimulai di halaman baru dan tabel tidak terpisah diantara halaman.

At-Rules CSS

At-rules adalah pernyataan yang memerintahkan CSS bagaimana harus berperilaku. Mereka dimulai dengan tanda at (@) diikuti oleh identifier. mari kita lihat beberapa at-rules yang spesifik untuk Media Halaman:

At-rule Deskripsi Contoh
@page Menentukan kotak halaman untuk media berhalaman @page :first { margin-top: 10cm; }
@top-left Menentukan konten untuk sudut kiri atas halaman @top-left { content: "Chapter 1"; }
@top-center Menentukan konten untuk bagian tengah atas halaman @top-center { content: "My Book"; }
@top-right Menentukan konten untuk sudut kanan atas halaman @top-right { content: date("yyyy-mm-dd"); }
@bottom-left Menentukan konten untuk sudut kiri bawah halaman @bottom-left { content: "Confidential"; }
@bottom-center Menentukan konten untuk bagian tengah bawah halaman @bottom-center { content: "Copyright 2023"; }
@bottom-right Menentukan konten untuk sudut kanan bawah halaman @bottom-right { content: counter(page); }

mari kita lihat contoh penggunaannya:

@page {
@top-center {
content: "Alice's Adventures in Wonderland";
font-family: "Times New Roman", serif;
font-size: 12pt;
}
@bottom-right {
content: "Page " counter(page);
}
}

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

Dalam contoh ini, kita menambahkan header ke setiap halaman dengan judul buku dan nomor halaman di bagian bawah kanan. Kita juga menghapus elemen ini dari halaman pertama untuk memiliki penampilan halaman judul yang bersih.

Pseudo-Kelas CSS

Pseudo-kelas digunakan untuk menentukan keadaan khusus dari elemen. Dalam konteks Media Halaman, ada beberapa pseudo-kelas yang berguna:

Pseudo-class Deskripsi Contoh
:first Memilih halaman pertama @page :first { margin-top: 10cm; }
:left Memilih semua halaman kiri @page :left { margin-left: 4cm; }
:right Memilih semua halaman kanan @page :right { margin-right: 4cm; }
:blank Memilih semua halaman kosong @page :blank { @top-center { content: none; } }

mari kita lihat bagaimana kita bisa menggunakannya:

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

@page :left {
margin-left: 4cm;
margin-right: 3cm;
@top-left {
content: "Alice's Adventures in Wonderland";
}
}

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

Dalam contoh ini, kita membuat tata letak yang berbeda untuk halaman pertama, halaman kiri, dan halaman kanan. Halaman pertama memiliki margin atas yang besar dan tanpa header atau footer. Halaman kiri memiliki judul buku di sudut kiri atas, sedangkan halaman kanan memiliki nomor bab di sudut kanan atas.

Kesimpulan

Dan itu dia, teman-teman! Kita telah berjalan melalui dunia yang menakjubkan dari CSS Paged Media. Dari menetapkan ukuran halaman dan margin hingga mengendalikan pemisahan halaman dan menambahkan header dan footer, Anda sekarang memiliki alat untuk membuat tata letak cetak yang indah dengan CSS.

Ingat, latihan membuat sempurna. Cobalah untuk mencoba properti dan at-rules ini dalam proyek Anda sendiri. Anda mungkin terkejut melihat betapa banyak kontrol Anda dapat mempunyai atas tata letak cetak Anda!

Selamat berkoding, dan may your prints be ever crisp and beautiful!

Credits: Image by storyset