Saya membuat laporan HTML yang akan dicetak, dan memiliki "bagian" yang harus dimulai di halaman baru.
Apakah ada cara untuk meletakkan sesuatu di HTML / CSS yang akan memberi sinyal ke browser bahwa ia perlu memaksa page break (mulai halaman baru) pada saat itu?
Saya tidak membutuhkan ini untuk bekerja di setiap browser di luar sana, saya pikir saya dapat memberitahu orang untuk menggunakan satu set browser tertentu untuk mencetak ini.
sumber
page-break-after
"berlaku untuk memblokir elemen yang menghasilkan kotak," jadi menggunakan<span>
elemen kosong tidak akan berfungsi. Itu ide yang lebih baik untuk menerapkannya pada sepotong konten Anda. Lihat developer.mozilla.org/en-US/docs/Web/CSS/page-break-after.pagebreak { min-height: 1px; page-break-before: always; }
Coba tautan ini
sumber
h1
bukan contoh yang baik, karena ini berarti tajuk tingkat 1, dan halaman biasanya hanya memiliki satu tajuk seperti itu.h1:not(:first-child) { page-break-before:always; }
Hanya ingin menempatkan pembaruan.
page-break-after
adalah properti warisan sekarang.Resmi halaman negara
sumber
Anda dapat menggunakan properti CSS
page-break-before
(ataupage-break-after
). Hanya mengaturpage-break-before: always
tentang unsur-unsur blok-tingkat (misalnya, pos,div
,p
, atautable
elemen) yang harus mulai pada baris baru.Misalnya, untuk menyebabkan garis terputus sebelum judul tingkat 2 dan sebelum elemen apa pun di kelas
newpage
(misalnya,<div class=newpage>
...), Anda akan menggunakansumber
Cukup tambahkan ini di mana Anda perlu halaman untuk pergi ke yang berikutnya (teks "halaman 1" akan di halaman 1 dan teks "halaman 2" akan berada di halaman kedua).
Ini juga berfungsi:
sumber
Katakanlah Anda memiliki blog dengan artikel seperti ini:
Hanya menambahkan ini ke CSS berfungsi untuk saya:
(diuji dan bekerja pada Chrome 69 dan Firefox 62).
Referensi:
https://www.w3schools.com/cssref/pr_print_pageba.asp
https://developer.mozilla.org/en-US/docs/Web/CSS/page-break-after ; catatan penting: di sini dikatakan
This property has been replaced by the break-after property.
tetapi tidak berhasil untuk sayabreak-after
. Juga dokumen MDN tentangbreak-after
tampaknya tidak spesifik untuk istirahat halaman, jadi saya lebih suka menjaga (berfungsi)page-break-after: always;
.sumber
Contoh:
Saat mencetak file html dengan kode di atas, pratinjau cetak akan menampilkan tiga halaman (satu untuk setiap blok html " HTML_BLOCK_n ") di mana seperti di browser semua tiga blok muncul secara berurutan satu demi satu.
sumber
Saya perlu istirahat halaman setelah setiap baris ke-3 saat kami menggunakan perintah cetak pada browser.
Saya menambahkan <div style = 'page-break-before: always;'> </div>
setelah setiap baris ke-3 dan div orangtua saya memiliki tampilan: flex; jadi saya menghapus tampilan: flex; dan itu berfungsi seperti yang saya inginkan.
sumber
CSS
HTML
sumber
@ Chris Doggett masuk akal. Meskipun, saya menemukan satu trik lucu di lvsys.com , dan itu sebenarnya berfungsi pada firefox dan chrome. Letakkan komentar ini di mana saja Anda ingin page-break dimasukkan. Anda juga dapat mengganti
<p>
tag dengan elemen blok apa pun.sumber