你如何debugging可打印的CSS?

我一直使用Firebug和IE Developer Toolbar来debugging棘手的CSS问题。 但偶尔,一个棘手的错误出现,只有当你打印页面时才会出现。

你用什么技术/工具来诊断这样的问题? 有没有办法在打印视图中更多地使用传统的CSSdebugging工具?

更新:我已经使用PDF打印机来避免浪费纸张; 我的问题是,我不能右键点击打印的DOM。 下面的一些其他答案是相当有帮助的,谢谢。 🙂

刚刚在lee-penkman网站发现了一个关于Firefox新function的评论:在Firefox中按Shift-F2打开控制台,然后进入media emulate print 。 工作绝对好!

我使用WebDeveloper插件和CSS – >按媒体types显示CSS – >打印来查看打印时的CSS。 Firebug的检测工具可以通过插件过滤CSS。

在Chrome 51中:

Chrome开发者工具

打开开发工具( CTRL + F12CTRL + SHIFT + I )并单击...菜单,单击More Tools > Rendering settings以打开开发人员控制台的“ Rendering选项卡(或者,如果控制台已打开,请导航至此选项卡)。

在该选项卡中,select并选中Emulate Media: print

我使用Firefox和开发人员工具栏 。

我使用任务栏中的实时CSS编辑工具,它是非常有用的修改您的CSS实时查看结果。

我也使用大纲function,这是在你的网站上的鼠标,这样的div和东西。 真的很有帮助,find分区。

对于打印问题,请转到CSS – >按介质显示CSS样式 – >打印

这里有很多其他的工具,我大概用了10%左右。

尝试也许你find有用的东西。

在Chrome开发工具(F12 \ Ctrl(在Mac上的cmd)+ Shift + C):在模拟选项卡(从Chrome 32以后恕我直言),有一个标签“媒体”。

在那里你可以检查媒体模拟checkbox,并select你想要模拟的媒体('打印','屏幕'等)

如何最后列出您的打印CSS,并从您的CSS链接或导入语句中删除“打印”条件? 然后,您正在浏览器窗口中debugging打印CSS。

我使用的Adobe PDF虚拟打印机,因为它是一个真正的打印机,你会得到最接近的东西,而不浪费墨水和纸张。

无论如何,build议有一个单独的CSS打印,用更简单的graphics和更less的图像,你只是用于devise目的。

我总是使用Web开发工具栏(如其他答案中所述),但Firebug似乎不时地错过了一些样式。 所以我给我的浏览器添加了一个书签,并添加了下面的Javascript作为书签的URL。 现在我可以简单地通过点击书签切换到打印样式:

 javascript:(function(){var%20h,a,f;a=document.getElementsByTagName('link');for(h=0;h<a.length;h++){f=a[h];if(f.rel.toLowerCase().match(/stylesheet/)&&f.href&&(f.media=='print'||f.media=='screen')){var%20g=f.href.replace(/(&|%5C?)forceReload=\d+/,'');if(f.media.toLowerCase().match(/screen/))f.media="dontshow";if(f.media.toLowerCase().match(/print/))f.media="all";f.href=g+(g.match(/\?/)?'&':'?')+'forceReload='+(new%20Date().valueOf());}}})() 

上面的代码find了所有的样式表链接,testing它是否为media = print,如果是,则将其更改为media = all(并且通过用media = dontshowreplace它来隐藏所有media = screen),并通过添加一个时间标记来重新加载样式表url 基本的重新加载脚本是从别人,我添加媒体的一部分。 这对我很好!

这将是上面的JavaScript URL更可读的版本来解释:

 javascript: (function() { var h, a, f; a = document.getElementsByTagName('link'); for (h = 0; h < a.length; h) { f = a[h]; if (f.rel.toLowerCase().match(/stylesheet/) && f.href && (f.media == 'print' || f.media == 'screen')) { var g = f.href.replace(/(&|\?)forceReload=\d /, ''); if (f.media.toLowerCase().match(/screen/)) f.media = "dontshow"; if (f.media.toLowerCase().match(/print/)) f.media = "all"; f.href = g(g.match(/\?/) ? '&' : '?') 'forceReload=' (new Date().valueOf()); } } })() 

如果您不想付钱,请打印到Microsoft XPS Document Writer。 或者使用SnagIt,如果你有资金(现场免费试用)。