css - 使用媒体打印时如何在纸张中设置身体高度[css]
问题描述
我不知道我在使用时如何设置身体的高度@media print
。
我有一个很长的文件。我将每个页面设置为具有相同的页眉和页脚。
标题
@media print {
position: fixed;
top: 0;
}
页脚
@media print {
position: fixed;
bottom: 0;
}
如何将正文放在页眉和页脚之间?当我将数据放入纸中时,{Header body Footer} 部分会重叠。
解决方案
你可以在你的身体中定义一个网格并将你的元素放在上面:
HTML:
<body>
<header></header>
<main></main>
<footer></footer>
</body>
CSS:
body {
display: grid;
grid-template-rows: auto 1fr auto;
min-height: 100vh; // use the full height
}
header {
grid-row: 1;
}
main {
grid-row: 2;
}
footer {
grid-row: 3;
}
如果您只想在打印期间显示页眉和页脚,只需添加以下内容将它们隐藏在屏幕上:
header, footer {
display: none;
}
@media print {
header, footer {
display: block;
}
}
如果您想使高度适应您的纸张尺寸而不是视口。您可以添加如下页面尺寸(A4 纸张尺寸示例):
@page {
size: A4;
margin: 0;
}
@media print {
html, body {
width: 210mm;
height: 297mm;
min-height: 297mm;
}
}
推荐阅读
- python - 使用关键字多次拼接字符串
- dynamics-crm - 如何取消删除 MSCRM 实体中的字段
- python - 两个csv文件之间的问题计算差异
- python - 在 Flask 中导入 py 文件时遇到问题
- ruby - 尽管遇到睡眠,Rspec 示例仍继续运行
- html - 如何使用 foreach 插入多个下拉选择?
- visual-studio-2015 - IIS Express 以代码 0 退出
- javascript - vuejs2 onclick 不会调用定义的方法函数
- glassfish - 引起:java.lang.IllegalArgumentException:Servlet [RegistrationRequesterPortImpl] 和 Servlet
- python - 附加在函数中的 Python 列表意外工作