68

Firebug 是显示某些 HTML 元素的屏幕媒体 CSS 的绝佳工具,但有没有办法查看打印媒体 CSS 呢?或者是否有任何其他工具可以查看打印媒体 CSS?

4

10 回答 10

35

Web 开发者工具栏呢?
https://addons.mozilla.org/en-US/firefox/addon/60
安装后转到 CSS -> 按媒体类型显示 CSS -> 打印

于 2009-04-19T12:41:01.520 回答
32

较新的火狐

  1. 使用 F12 打开 devtools。
  2. 转到检查器选项卡。
  3. 打开规则子选项卡。
  4. 将有打印媒体按钮。

在此处输入图像描述

老火狐

Firefox 现在不需要 firebug。

  1. 通过按运行开发人员工具栏Shift+F2
  2. 类型media emulate print

键入media reset以返回标准视图。

于 2016-11-02T10:42:35.557 回答
31

I would have never expected this to work, but it does. Install -both- the 1.5 beta of Firebug and Web Developer. When you choose the print css from Web Developer, the tools in Firebug suddenly work on the new print version of the page. So far I haven't found any problems with running both at the same time.

于 2009-12-16T17:33:33.183 回答
4

使用 Web Developer 插件。然后您可以从 CSS 菜单中选择您希望页面显示为哪种媒体。

于 2009-04-19T12:40:16.403 回答
3

在 Firefox(和其他一些浏览器)中,您可以使用打印预览查看打印样式表的静态显示。它远不如 Web 开发人员工具栏有用,但它也可以帮助您了解将要打印的内容。

于 2009-04-19T14:22:41.447 回答
3

你可能想看看 webdeveloper 工具栏——它允许你选择你想看到的 CSS。结合firebug,应该可以看到打印媒体CSS。

于 2009-04-19T12:40:15.530 回答
3

实际上,请注意,您可能会@media print在意想不到的时候看到 CSS。

这样使用

[..]@media print{#sidebar,#nav,[..],div.vote{display:none;}}[..]

...因此人们可能期望 Firebug 中的 CSS 面板以某种方式显示:

@媒体打印{
  #sidebar, #nav, [..], div.vote {
    显示:无;
  }
}

但相反,它显示 CSS 就好像@media print它实际上是活动的一样,例如:

#sidebar, #nav, [..], div.vote {
  显示:无;
}

(另请参阅相关问题报告:CSS 面板没有 @media UI。)

于 2010-05-02T17:21:26.290 回答
3

编辑 2阅读Arjan回答后,我意识到该解决方案无法正确处理使用(或滥用)@media printCSS 的站点。(见下面的例子。)但我认为这个解决方案仍然有效作为“非完美的快速和肮脏的技巧”,最重要的是你编写的代码并且你事先知道它没有这个.


使用 Firebug,您还可以方便地编辑<link rel="stylesheet" type="text/css" ...><style>标签。

例如,您可以切换原件

<link rel="stylesheet" type="text/css" media="print">

<link rel="stylesheet" type="text/css" media="screen">

浏览器会应用它。您还必须停用仅屏幕显示的功能。

当然,这仅在您只想快速检查带有很少样式表链接的几个页面时才有用,但至少,您不需要安装任何额外的插件。


编辑 1这个技巧建议我使用 javascript 来自动化这个......

(免责声明:为简单起见,我将使用 JQuery。我不是 Javascript 专家。)

// Save all stylesheet links
allStylesheets   = $('link[rel="stylesheet"], style');
// Save the print-stylesheet links
printStylesheets = $('link[media*="print"], link[media*="all"], style[media*="print"], style[media*="all"]');

// Set all stylesheet medias to something 'exotic'
if (null != allStylesheets) {
    allStylesheets.attr("media", "aural");
}
// Switch the print-stylesheet medias to 'screen'
if (null != printStylesheets) {
    printStylesheets.attr("media", "screen");
}

请注意,默认media值为"screen"w3.org - media 属性)。这可以在按钮中使用以显示页面预览。唯一的缺点是您必须重新加载页面才能恢复原始视图。

如上所述,此解决方案不适用于这样的 html 代码,因为@media print浏览器不会应用其中的样式:

<html>
    <head>
        <title>Hello world</title>
        <style type="text/css" media="all">
            @media print { h1 { color: red; }}
        </style>
    </head>
    <body>
        <h1>Hello world</h1>
    </body>
</html>
于 2012-05-22T16:44:06.343 回答
2

但是,Web 开发人员工具栏对于 CSS 调试有一个很大的缺点:每次刷新页面时,它都会恢复为屏幕样式表。

这些天我倾向于做的是在我开发时暂时将打印样式表的媒体切换到屏幕,然后在上线之前将其切换回来。

于 2009-04-19T14:09:18.233 回答
0

Firefox 68 在页面检查器的规则视图中添加了一个“切换页面的打印媒体模拟”按钮(错误 1534984):

Firefox Page Inspector 的屏幕截图

在“检查和编辑 CSS”页面的“查看打印的 @media 规则”部分中有一个有关如何使用按钮的视频

于 2021-11-22T17:58:27.237 回答