Pecah halaman - Trik CSS

Anonim

Tidak ada page-breakharta tanah sebenar di CSS. Ia sebenarnya satu set 3 sifat: page-break-before, page-break-afterdan page-break-inside. Sifat-sifat ini membantu menentukan bagaimana dokumen seharusnya bertindak semasa dicetak. Contohnya, untuk menjadikan dokumen yang dicetak lebih menyerupai buku.

Hartanah

halaman-break-sebelum

The page-break-beforeharta menambah halaman-break sebelum elemen di mana ia digunakan.

Catatan : harta tanah ini sedang dalam proses penggantian dengan harta yang lebih umum break-before. Harta baru ini juga menangani pemecahan lajur dan kawasan sambil bersesuaian secara sintaksis page-break-before. Oleh itu, sebelum menggunakan page-break-before, periksa sama ada anda boleh menggunakannya break-before.

Kes penggunaan yang biasa untuk ini adalah menerapkannya ke pemilih #commentssehingga pengguna yang mencetak halaman dengan komen dapat memilih untuk mencetak keseluruhan dokumen dengan mudah tetapi berhenti sebelum komen bersih.

halaman-rehat-selepas

The page-break-afterharta menambah halaman-break selepas elemen di mana ia digunakan.

Catatan : harta tanah ini sedang dalam proses penggantian dengan harta yang lebih umum break-after. Harta baru ini juga menangani pemecahan lajur dan kawasan sambil bersesuaian secara sintaksis page-break-after. Oleh itu, sebelum menggunakan page-break-after, periksa sama ada anda boleh menggunakannya break-after.

halaman-pecah-masuk

The page-break-insideharta menambah halaman-break dalam elemen di mana ia digunakan.

Sintaks

page-break-after : auto | always | avoid | left | right page-break-before : auto | always | avoid | left | right page-break-inside : auto | avoid

Yang leftdan rightnilai untuk page-break-beforedan page-break-aftermerujuk kepada susun atur spread (seperti buku) di mana terdapat kiri berbeza dan laman betul. Mereka berfungsi seperti ini:

  • left memaksa satu atau dua pemecahan halaman selepas elemen sehingga halaman seterusnya diformat sebagai halaman kiri.
  • right memaksa pemecahan satu atau dua halaman selepas elemen sehingga halaman seterusnya diformat sebagai halaman kanan.

Pertimbangkan alwayssebagai gabungan kedua-duanya. Spesifikasi mengatakan:

Ejen pengguna yang sesuai boleh mentafsirkan nilai 'kiri' dan 'kanan' sebagai 'selalu'.

Contohnya

@media print ( h2 ( page-break-before: always; ) h3, h4 ( page-break-after: avoid; ) pre, blockquote ( page-break-inside: avoid; ) )

Coretan kod ini melakukan 3 perkara:

  • ia memaksa pemecahan halaman sebelum semua h2tajuk (mungkin tag h2 dalam dokumen anda adalah tajuk bab yang layak mendapat halaman baru)
  • ia menghalang pemecahan halaman tepat selepas sub-tajuk kerana kelihatan aneh
  • ia menghalang pemecahan halaman di dalam pretag dan petikan peringkat blok

Sokongan Penyemak Imbas

Chrome Safari Firefox Opera IE Android iOS
Sebarang Sebarang Sebarang 7+ 4+ TBD TBD

Anda boleh mencetak dari peranti mudah alih, seperti AirPrint di iOS, tetapi kami belum mengujinya. Sekiranya ada yang mempunyai data mengenai sokongan, beri tahu kami.