点阵打印模拟器 - 复古像素文字打印效果
将输入文本渲染为点阵式打印机风格的像素字体图片,可调整针头密度和纸张颜色。
UD5工具箱
实时预览 @media print 样式效果 · 屏幕与打印视图一键切换
@media print 是CSS中的打印媒体查询,用于定义网页在打印或打印预览时的样式。它允许你为打印版本创建不同于屏幕显示的布局和外观。
基本语法:
@media print {
/* 打印时生效的样式 */
body { font-size: 12pt; color: #000; background: #fff; }
.no-print { display: none !important; }
a[href]::after { content: " (" attr(href) ")"; }
}
打印样式表通常放在主CSS文件的末尾,以确保样式优先级。也可以使用<link rel="stylesheet" media="print">引入独立的打印样式表。
最常见的做法是给不需要打印的元素添加一个类(如.no-print),然后在@media print中隐藏它们:
@media print {
.no-print, nav, .sidebar, .ads, .comments, button,
.social-share, .newsletter-signup {
display: none !important;
}
/* 或者使用 visibility */
.hide-print { visibility: hidden; }
}
最佳实践:使用display: none完全移除元素,这样不会占用页面空间。使用!important确保覆盖内联样式。
@page 规则用于定义打印页面的尺寸、边距和方向。它在打印媒体查询中使用,控制整个页面的布局。
@page {
size: A4; /* 纸张尺寸:A4, Letter, Legal */
margin: 20mm; /* 页边距 */
/* 或使用具体值 */
size: 210mm 297mm; /* 宽 × 高 */
margin: 2cm 1.5cm;
}
/* 首页不同 */
@page :first {
margin-top: 30mm;
}
/* 左右页不同(书籍排版) */
@page :left { margin-left: 25mm; }
@page :right { margin-right: 25mm; }
注意:浏览器对@page的支持程度不同,部分属性(如页眉页脚)支持有限。A4和Letter尺寸在主流浏览器中都有良好支持。
使用CSS的::after伪元素配合attr()函数,可以在打印时自动显示链接的URL:
@media print {
a[href]::after {
content: " (" attr(href) ")";
font-size: 0.85em;
color: #666;
word-break: break-all;
}
/* 排除内部链接和锚点 */
a[href^="#"]::after { content: ""; }
/* 排除相对路径的显示 */
a[href^="/"]::after {
content: " (https://yoursite.com" attr(href) ")";
}
}
这样打印出来的文档中,所有链接的URL都会显示在链接文字后面,方便读者查看。
大多数浏览器默认不打印背景色和背景图片以节省墨水。可以通过CSS覆盖这个行为:
@media print {
* {
-webkit-print-color-adjust: exact;
print-color-adjust: exact;
color-adjust: exact;
}
.must-show-bg {
background: #f0f0f0 !important;
-webkit-print-color-adjust: exact;
print-color-adjust: exact;
}
}
用户端设置:即使设置了这些属性,用户仍可在浏览器的打印对话框中勾选"背景图形"选项来启用或禁用背景打印。Chrome默认关闭,需要用户手动开启。
使用CSS分页属性控制打印时的分页行为:
@media print {
/* 在此元素前强制分页 */
.new-page { page-break-before: always; }
/* 在此元素后强制分页 */
.page-end { page-break-after: always; }
/* 避免在元素内部分页 */
.keep-together { page-break-inside: avoid; }
/* 避免标题后紧跟分页(标题孤行) */
h2, h3 { page-break-after: avoid; }
/* 表格行不跨页 */
tr { page-break-inside: avoid; }
}
现代写法:CSS3推荐使用break-before、break-after、break-inside替代旧的page-break属性,兼容性已非常好。
有几种方法可以调试打印样式:
print,即可在屏幕上预览打印效果。pt(磅)作为字体大小单位更合适(1pt ≈ 1/72英寸),屏幕使用px或rem。body { background: #fff; },避免浪费墨水。color: #000;或#1a1a1a;),确保可读性。将输入文本渲染为点阵式打印机风格的像素字体图片,可调整针头密度和纸张颜色。
输入字体名或从列表选择,在示例文本上立刻看效果,获得@import代码。
实时显示当前浏览器窗口分辨率、屏幕分辨率、像素比(DPR)和色彩深度等信息。
将SVG内容无损转换为PDF文件,保持矢量性质,支持打印和分享。
使用Eyedropper API激活系统取色器,拾取屏幕任意位置的颜色值。
可视化为视频添加时间点字幕文本,导出标准WebVTT文件或JSON。
将已有戒指放在屏幕圆圈上比对,或测量指围,转换为美/英/欧/中式号数。
生成一个书签工具,点击后在当前页面动态加载任何 Google 字体并应用到所选文字。
悬浮在页面上的虚拟直尺和量角器,可测量屏幕元素的角度和像素距离。
输入事件名称与年代,自动生成美观的横向时间轴图,打印用于学习展示。
全屏彩色时间显示,文字缓慢移动回弹,类似经典屏幕保护程序,可做桌面装饰。
渲染网页在Windows强制颜色模式下的样式,协助调试和适应系统高对比度主题。
纯前端图片水印添加工具,支持文字水印(自定义字体、颜色、透明度、旋转)和图片水印,保护图片版权。
让文字拥有磨砂背景,可视化调整模糊度和颜色,输出CSS backdrop-filter代码。
按时间点添加事件,生成美观的垂直或水平时间轴HTML/CSS代码。
输入 origin trial token,解析出启用的特性、域名和过期时间。
选择两种开源许可证,并排显示全文,高亮关键差异条款,帮助选择合适许可证。
演示并测试:focus-visible伪类在不同输入模式下的表现,辅助无障碍设计。
利用简单的边缘检测或熵分析,自动将图片裁剪到保留视觉主体的大小。
展示各种邮件客户端对CSS背景图片、VML背景的支持程度,附兼容代码。
实时显示当前页面可见状态,当切换标签页时记录时间并给出日志。
比较两段文本,在单词级别高亮新增、删除和修改的部分,类似 Google Docs 修订。
添加城市,拖动时间轴,直观查看各时区对应时间,找到公共可用段。
输入自定义单词列表,生成填满随机字母的单词搜索矩阵,并导出为打印格式。
搜索各类编程语言、框架和工具的矢量图标,点击复制其HTML或SVG代码。
设定FCP、LCP、CLS等指标值,模拟计算PageSpeed Insights得分估算。
粘贴HTML代码,自动提取所有 <!--注释--> 内容,方便查看遗留信息。
提供代码评审和文档评审的通用检查项,标出等级并生成评审报告。
输入长单词或URL,切换overflow-wrap和word-break属性值,对比溢出自适应效果。
创建可选择的时间段,参与者勾选自己方便的时间,自动计算最佳交集。