#html #css #print-css
#HTML #css #печать-css
Вопрос:
У меня есть длинный HTML для печати. Страница готова к печати, но мне нужно ограничить каждую отдельную страницу. Я добавил body { border:2px #666 solid; padding:5px; }
в код CSS. Просмотр HTML хорош, а просмотр печати — нет. Потому что border-bottom не показывает первую страницу, а border-top не показывает все остальные страницы.
Надеюсь, я смогу объяснить, чего я хочу. Я ищу и все еще ищу решение. И я думаю, что это простой трюк. Но все еще не найден.
Комментарии:
1. Давным-давно была опция под названием
marks
. К сожалению, он устарел: developer.mozilla.org/de/docs/Web/CSS/marks
Ответ №1:
Лучший способ — поместить исправленное div
на страницу. Важно то, что вы не должны помещать в нее какой-либо контент. Он легко работает с многостраничными:
<html>
<head>
<style type="text/css">
#pageborder {
position:fixed;
left: 0;
right: 0;
top: 0;
bottom: 0;
border: 2px solid black;
}
</style>
</head>
<body>
<div id="pageborder">
</div>
sdf<br/>
sdf<br/>sdf<br/>sdf<br/>sdf<br/>sdf<br/>sdf<br/>sdf<br/>sdf<br/>sdf<br/>sdf<br/>sdf<br/>
sdf<br/>sdf<br/>sdf<br/>sdf<br/>sdf<br/>sdf<br/>sdf<br/>sdf<br/>sdf<br/>sdf<br/>sdf<br/>sdf<br/>sdf<br/>sdf<br/>sdf<br/>sdf<br/>sdf<br/>sdf<br/>sdf<br/>sdf<br/>sdf<br/>sdf<br/>
111<br/>111<br/>111<br/>111<br/>111<br/>111<br/>111<br/>111<br/>111<br/>111<br/>111<br/>111<br/>111<br/>111<br/>111<br/>111<br/>111<br/>111<br/>111<br/>
111<br/>111<br/>111<br/>111<br/>111<br/>111<br/>111<br/>111<br/>111<br/>111<br/>111<br/>111<br/>111<br/>111<br/>111<br/>111<br/>111<br/>111<br/>111<br/>
222<br/>222<br/>222<br/>222<br/>222<br/>222<br/>222<br/>222<br/>222<br/>222<br/>222<br/>222<br/>222<br/>222<br/>222<br/>222<br/>222<br/>222<br/>222<br/>222<br/>222<br/>222<br/>
</body>
</html>
Ответ №2:
Попробуйте это, это поможет вам: это сделает границу на весь экран.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
<title>Border around content</title>
<style type="text/css">
* {
margin: 0;
padding: 0;
}
html, body {
height: 100%;
overflow: hidden;
}
#wrapper {
position: absolute;
overflow: auto;
left: 0;
right: 0;
top: 0;
bottom: 0;
border: 5px solid red;
}
</style>
</head>
<body>
<div id="wrapper">
</div>
</body>
</html>
Комментарии:
1. для первой страницы все в порядке, но для печати есть 3-4 страницы. Другие, не существующие при печати.
2. Итак, на другой странице попробуйте добавить этот код снова… разработайте, что вы хотите
3. Хорошо, я попробовал что-то и решил свою проблему. Изменил #wrapper
position:absolute
наposition:fixed
. Спасибо за вашу помощь.4. И можете ли вы поддержать мой вопрос. Почему они дают downvote, я не могу понять.
Ответ №3:
По умолчанию граница отображается за пределами области элемента.
Попробуйте добавить это в print CSS:
body { box-sizing: border-box; border: 10px solid black; }
Надеюсь, это поможет!
Редактировать: вы также можете попробовать увеличить границу и временно добавить !важно для CSS-sizing и border. Это иногда помогает мне найти источник проблемы.