我最近一直在为一个网站设计打印样式表,我意识到我不知道如何有效地调整它。为屏幕布局设置重载循环是一回事:
更改代码 点 重新加载
但当你试图打印时,整个过程会变得更加艰巨:
更改代码 点 重新加载 打印 斜视打印预览图像 在预览中打开PDF以作进一步检查
我是不是错过了一些工具?WebKit的检查器有“假装这是分页媒体”复选框吗?Firebug(战栗)能施展什么魔法吗?
我最近一直在为一个网站设计打印样式表,我意识到我不知道如何有效地调整它。为屏幕布局设置重载循环是一回事:
更改代码 点 重新加载
但当你试图打印时,整个过程会变得更加艰巨:
更改代码 点 重新加载 打印 斜视打印预览图像 在预览中打开PDF以作进一步检查
我是不是错过了一些工具?WebKit的检查器有“假装这是分页媒体”复选框吗?Firebug(战栗)能施展什么魔法吗?
我假设您希望在不使用HTML转PDF方法的情况下尽可能多地控制打印窗口……使用@media屏幕调试- @media打印最终的css
使用@media查询中的英寸和分,现代浏览器可以让您快速了解打印时将要发生的事情。
@media screen and (max-width:8.5in) { /* resize your window until the event is triggered */
html { width:8.5in; }
body { font: 9pt/1.5 Arial, sans-serif; } /* Roughly 12px font */
...
}
Once your browser is displaying "inches" you'll have a better idea of what to expect. This approach should all but end the print preview method. All printers will work with pt and in units, and using the @media technique will allow you to quickly see what's going to happen and adjust accordingly. Firebug (or equivalent) will absolutely expedite that process. When you've added your changes to @media, you've got all the code you need for a linked CSS file using media = "print" attribute - just copy/paste the @media screen rules to the referenced file.
祝你好运。网络不是为印刷而生的。创建一个交付所有内容的解决方案,样式与浏览器中看到的样式相等,有时是不可能的。例如,一个以1280 x 1024观众为主的流畅布局并不总是容易转化为漂亮整洁的8.5 x 11激光打印。
purusal的W3C参考:http://www.w3.org/TR/css3-mediaqueries/
如果你有一个打印函数,将页面的内容重写到一个新的窗口,并引用打印样式表,你会更好地了解它在纸上的样子,你也可以用firebug之类的工具来调试它。
这里有一个如何用JavaScript / jquery实现的例子
$("#Print").click(function () {
var a = window.open('', '', 'scrollbars=yes,width=1024,height=768');
a.document.open("text/html");
a.document.write("<html><head>");
a.document.write('<link rel="stylesheet" href="css/style.css" />');
a.document.write('<link rel="stylesheet" href="css/print.css" />');
a.document.write("</head><body>");
a.document.write($('#Content').html());
a.document.write('</body></html>');
a.document.close();
a.print();
});
我使用宏来发送重复的按键和鼠标点击。 在Windows下,AutoHotKey是一个很棒的软件,在OS X下,你可以读到Automator,这是OsX的替代AHK。
在Windows下(在OS X下用Cmd替换Ctrl)“Ctrl-s /切换到Fx窗口,无论它在窗口打开的列表/ Ctrl-r”绑定到1个未使用的键避免无趣任务的挫折,最终将拯救我的手臂从RSI:)
有一种简单的方法来调试你的打印样式表,而不需要切换HTML代码中的任何媒体属性(当然,正如指出的那样,它不能解决宽度/页的问题):
使用Firefox + Web开发扩展。 在Web开发人员菜单中,选择CSS /按媒体类型显示CSS /打印 返回Web开发人员菜单,选择选项/持久化功能
现在您正在查看打印的CSS,您可以无限期地重新加载页面。 完成后,取消选中“Persist Features”并重新加载,您将再次获得屏幕CSS。
HTH.
在DreamWeaver中有一个工具栏,可以显示你想要的任何渲染选项: 屏幕,打印,手持媒体,投影屏幕,电视媒体,设计时间样式表等。 这是我特别使用的,因为它:立即显示预览只需按下一个按钮。
在Chrome的检查器中有一个选项。
打开DevTools检查器(mac: Cmd + Shift + C, windows: Ctrl + Shift + C) 单击位于DevTools面板左上角的Toggle设备模式图标。(windows: Ctrl+Shift+M, mac: Cmd+Shift+M)。 单击浏览器视口右上角的More overrides图标,打开devtools抽屉。 然后,在“模拟”抽屉中选择“媒体”,并选中“CSS媒体”复选框。
这应该能奏效。
更新:DevTools的菜单已经改变。 现在可以通过单击右上角的“三点”菜单找到>更多工具>渲染设置>模拟媒体>打印。
来源:谷歌DevTools page*
Chrome 48可以在渲染选项卡中调试打印样式。
点击检查器和渲染设置的菜单图标右上角。
编辑 对于Chrome 58,位置已更改为Web检查>菜单>更多工具>渲染
Chrome的UI从v53开始就不一样了。
我不需要经常使用这个功能,但每当我使用这个功能时,我总是要花很长时间才能弄清楚Chrome团队从我上次燃烧周期试图追踪它到哪里去了。
注意这是。菜单在开发工具窗格,而不是…菜单在Chrome浏览器窗格。
现在向下滚动渲染部分。它通常在底层。
2019 -更新说明
打开Chrome检查器 从Mac =>选项+命令+ i 从Windows => F12 点击小3点,自定义和控制devTools 选择更多工具 选择呈现 滚动到底部以模拟CSS媒体 从向下箭头选择打印