html - CSS @media 打印规则不再起作用了?

标签 html css google-chrome firefox

以前,当我打印以“隐藏”元素时,以下代码在 Firefox 和 Google Chrome 上都能正常工作,

<!DOCTYPE html>
<html><head><title>Test</title>
<style type="text/css">
@media print {
    .noprint { 
        display: none; 
    }
}
</style>
</head>
<body>
<span class="noprint">abc</span>
</body></html>

但现在,它不适用于两种浏览器。但是,如果我改成这样,

<!DOCTYPE html>
<html><head><title>Test</title>
<style type="text/css" media="print">
.noprint { 
    display: none; 
}
</style>
</head>
<body>
<span class="noprint">abc</span>
</body></html>

它可以在 Firefox 上运行,但不能在 Google Chrome 上运行。 独立于浏览器的解决方案是什么? (还是我的代码有问题?)

最佳答案

如果您使用@media print,您需要在样式中添加!important,否则页面将使用元素内联样式。

例如

@media print {
   .myelement1, .myelement2 { display: none !important; }
}

关于html - CSS @media 打印规则不再起作用了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20172681/

相关文章:

javascript - 如果单击的类有特定文本,则运行 jquery

html - 使用自定义 HTML 作为 Tag-it 自动完成的结果

javascript - 根据是否选择文件更改文件上传边框的颜色

html - 高度 100% 不起作用

最新行的 MySQL 代码仅适用于 Chrome,不适用于 Firefox

javascript - Chrome 插件 Dropbox 集成

javascript - 如何在服务器端检索使用 ajax 发送的 Node/express 应用程序的文件

html - <body> 拉伸(stretch)到 100% 的内容,而不是浏览器大小

html - 如何在网页上用JSP标签编写的无序列表应用CSS

javascript - 在 Google Chrome 中捕获下载