当前位置: 首页 > news >正文

关于 CSS 打印你应该知道的样式配置

CSS 打印分页功能

需求: html 在一个区域显示数据,当放不下时,自动第二页存放,打印

你可以使用 CSS 的分页属性来实现这个功能。CSS 分页属性包括 page-break-before、page-break-after 和 page-break-inside,它们可以控制在哪里分页。

主要是这几个配置样式属性:

1.分页符: 使用 page-break-before 和 page-break-after 属性来在指定元素之前或之后插入分页符。

@media print { .page-break { page-break-before: always; } }

2.避免分割元素:使用 page-break-inside 属性来避免将元素分割到不同的页面上。 【放在要分割的元素上】

@media print {.avoid-break {page-break-inside: avoid;}
}

3.控制分页位置:使用 page-break-before 和 page-break-after 属性的值来控制分页的位置,如 autoalwaysavoid 等。

@media print {.custom-break {page-break-before: auto; /* 默认值,根据需要调整 */page-break-after: always;}
}

具体来说,你可以将要显示的数据放在一个容器元素中,并为该元素设置 page-break-inside: avoid; 属性,表示不允许在其中间分页。然后,为容器元素的父元素设置 page-break-after: always; 属性,表示在该元素之后始终分页。

<style>.container {page-break-inside: avoid;}.page {page-break-after: always;}
</style><div class="page"><div class="container"><!-- 这里放要显示的数据 --></div>
</div>

在这个例子中,我们定义了一个名为 container 的容器元素,并为其设置了 page-break-inside: avoid; 属性,表示不允许在其中间分页。然后,我们定义了一个名为 page 的父元素,并为其设置了 page-break-after: always; 属性,表示在该元素之后始终分页。

当数据超出一页时,浏览器 会自动将剩余部分放到下一页。如果你需要打印这些数据,只需将页面设置为打印模式即可。在打印预览中,你可以看到所有的数据被正确地分页,并且可以跨页打印。

CSS 实现打印 Table 单元格换行显示

white-space: normal;:默认值,文本在遇到空格或换行符时换行,单词内部不会强制分割。
word-break: break-all;:单词会被强制分割,即使在单词内部也会进行换行。

line-height: 指定行高来确定分割后的间隙

table tr td:nth-child(1) {width: 80px; //指定单元格宽度word-break: break-all;white-space: normal;line-height: 1.2; 
}

CSS 打印常用配置

1.隐藏不必要的元素:通过设置 display: none; 可以隐藏在打印版本中不需要显示的元素,例如导航栏 、广告等

@media print {.navbar, .ad-banner {display: none;}
}

2.调整字体大小和颜色:可以根据打印需求调整文本的字体大小和颜色。

@media print {body {font-size: 12pt;color: #000;}
}

3.设置页面边距:通过设置 margin 属性来调整打印页面的边距.

@media print {@page {margin: 1cm;}
}

4.隐藏背景图像和颜色:可以通过设置 background 属性为 none 来隐藏打印页面的背景图像和颜色。

@media print {body {background: none;}
}

5.设置页面大小:通过 @page 规则和 size 属性来定义打印页面的大小。

@media print {@page {size: A4; /* 可以使用常见的纸张尺寸如 A4、Letter、Legal 等 */}
}

6.调整图片显示:可以通过设置 max-width 属性来控制打印版本中图片的最大宽度,避免图片溢出页面边界

@media print {img {max-width: 100%;height: auto;}
}

7. 隐藏链接的 URL:如果你不希望在打印版本中显示链接的 URL,可以使用 text-decoration 属性来隐藏。

@media print {a::after {content: none;}
}

8.调整页眉和页脚:

可以使用 @top-left, @top-center, @top-right, @bottom-left, @bottom-center, @bottom-right 等伪元素选择器来定义页眉和页脚的内容和样式。

@media print {@page {@top-left {content: "页眉内容";}@bottom-center {content: "页脚内容";}}
}

 

http://www.jsqmd.com/news/689059/

相关文章:

  • 灰度发布在Agent迭代中的实践:流量分配、效果评估与快速回滚
  • 【JAVA网络面经】网络模型(OSI+TCP/IP)
  • 杂题选讲 2026.4.23 (5)
  • 终极小说下载器:200+网站一键保存,免费打造你的私人数字图书馆
  • 数学利器Maple 2025保姆级下载与安装流程详解
  • 告别MQTT.fx:用Node-RED可视化拖拽,轻松调试ESP8266与阿里云的数据流
  • 识别“守门人”:在亚马逊,如何绕过巨头而非击倒他们
  • Docker 27安全扫描零配置接入,5分钟完成SBOM生成+OSV漏洞匹配+自动阻断策略部署
  • MLOps中API安全认证方案实战与优化
  • 从像素到鸟瞰:LSS(Lift-Splat-Shoot)如何重塑自动驾驶的3D感知
  • 邯郸中医诊所哪家药材正宗 - GrowthUME
  • 预算现实:在亚马逊,为何“资金深度”决定了你的“定位战场”与“生存打法”
  • 华为AD9430DN胖AP+R240D RU组网实战:从FIT模式切换、VLAN规划到DHCP配置全流程避坑
  • Cursor Free VIP:突破AI编程限制的终极智能解决方案
  • 用Python脚本自动化AD9364 SPI配置:告别手动写寄存器,快速生成初始化代码
  • 华北理工大学毕业好找工作吗?从毕业生落实率和工作去向多角度详解
  • BDInfo深度解析:5大核心技术解决蓝光媒体分析终极挑战
  • 别再死记硬背了!用知识图谱思维重构你的嵌入式学习路线(附STM32/FreeRTOS实战案例)
  • 三步搞定B站视频转文字:bili2text完整解决方案
  • 长期主义复利:在亚马逊,为何“善变”是品牌资产最大的腐蚀剂
  • 5个提升编码效率的AI工具,谁更好用?
  • 告别官网下载墙:手把手教你在Linux(CentOS/Rocky/麒麟)离线部署OpenJDK 17
  • 从NORMAL到SECURE:手把手教你配置CYT4BF安全启动与生命周期转换(附代码示例)
  • 从零开始掌握RePKG:Wallpaper Engine资源提取与转换终极指南
  • 暗黑2重制版自动化脚本Botty:新手快速上手指南
  • 创意服从定位:在亚马逊,为何“好看的内容”必须为“正确的认知”让路
  • AEUX终极指南:三步实现Sketch/Figma到After Effects的无缝动画转换
  • 3分钟搞定Windows和Office激活:KMS_VL_ALL_AIO智能激活完全指南
  • NCM文件解密终极指南:快速免费转换网易云音乐加密格式
  • 开源神器Serial Studio实战:如何用它的CSV导出和网络功能,做自动化测试报告?