#javascript #html #css #printing
#javascript #HTML #css #печать
Вопрос:
Я пытаюсь распечатать страницу, при попытке распечатать она показывает дополнительную пустую страницу в конце. Я пытался добавить height: 99% !important; page-break-after: avoid;
в CSS, но это не работает. Я перепробовал большинство решений в stackoverflow. Вот мой код
<html>
<head>
<style type="text/css" media="print">
@media print {
html, body {
margin: 0;
padding: 0;
width: 100%;
height: 99% !important;
page-break-after: avoid;
page-break-before: avoid;
}
table:nth-of-type(2) {
margin-bottom: 0;
page-break-inside: avoid;
}
@page {
page-break-inside: avoid;
size: A4 landscape;
margin: 10;
}
}
</style>
<style type="text/css">
page {
background: white;
display: block;
margin: 0 auto;
margin-bottom: 0.5cm;
box-shadow: 0 0 0.5cm rgba(0, 0, 0, 0.5);
}
page[size="A4"] {
width: 21cm;
height: 29.7cm;
}
page[size="A4"][layout="landscape"] {
width: 29.7cm;
height: 21cm;
}
.table-wtotbr {
width: 100%;
}
.table-wtbr {
width: 100%;
}
.table-wtotbr th, td {
border-bottom: 1px solid black;
}
.table-wtbr th, td {
border: 1px solid black;
}
.container-table {
width: 100%;
height: 100%;
font-size:16px;
}
</style>
</head>
<body>
<page size="A4" layout="landscape">
<div class="container-table"></div>
</page>
</body>
</html>
Может ли кто-нибудь помочь мне решить эту проблему. И есть ли какой-либо способ добавить функцию для печати.
Заранее благодарю вас.
Ответ №1:
Я изменил CSS таким образом
@media print {
html, body {
margin: 0 !important;
padding: 0 !important;
width: 100%;
height: 100vh !important;
}
}
здесь важно то, height: 100vh !important;