CSS 中的@media print 是干什么用的?

@media print { ... } 是CSS中的一个媒体查询,它专门用于定义当内容被打印到纸张上时应该应用的样式规则。在这个查询块内,你可以设置各种样式,以确保打印输出的内容看起来整洁、专业,并且只包含必要的信息。

在你给出的例子中:

css 复制代码
@media print {
    header, footer {
        display: none;
    }
}

这段代码的意思是,当网页内容被发送到打印机进行打印时,页面上的所有<header><footer>元素都将被隐藏(即不显示在打印的页面上)。这是通过将这些元素的display属性设置为none来实现的。

这种做法通常很有用,因为网页的页眉和页脚可能包含导航链接、社交媒体图标、版权声明等对于在线浏览很有用的信息,但在打印版本中,这些信息可能并不必要,甚至可能占用宝贵的页面空间。

此外,你还可以在@media print查询中定义其他样式规则,比如改变字体大小、颜色(尽管打印机通常只能打印单色,但定义颜色是个好习惯,以防将来支持彩色打印)、边距、分页控制等,以确保打印输出的内容既美观又易于阅读。

例如,你可能还想隐藏某些不重要的元素,如广告、侧边栏或仅用于装饰的图片,同时增加标题和段落的字体大小,以及为页面添加页眉和页脚(但这次是在打印样式中自定义的,与网页上的不同)。

相关推荐
狗头大军之江苏分军13 小时前
又是一个周末加班夜,前端的我只想哭…
前端
个案命题13 小时前
鸿蒙ArkUI组件通信专家:@Param装饰器的奇幻漂流
java·服务器·前端
Data_agent13 小时前
CNFANS模式淘宝1688代购系统搭建指南
大数据·开发语言·前端·javascript
澄江静如练_13 小时前
表单输入绑定
服务器·前端·javascript
猩球中的木子13 小时前
vue-plugin-hiprint打印高度不够,提示:没有足够空间,显示下方内容,问题处理方案及实操
前端·vue.js
狗头大军之江苏分军13 小时前
Node.js 原生功能越来越强,我们是不是被 npm 玩坏了?
前端·javascript·架构
独自破碎E13 小时前
TS7016: Could not find a declaration file for module ‘vue-router‘.解决办法
前端·javascript·vue.js
仰望星空@脚踏实地14 小时前
DataKit js-yaml和follow-redirects组件依赖影响分析
前端·datakit
Mr_fang7194014 小时前
iframe 导致 Vue Router go(-1) 无法正常返回问题解决方案
前端
Drift_Dream14 小时前
Node.js 第二课:用核心模块构建你的第一个服务器
前端·后端