html - 如何防止打印::在 css 之后?

标签 html css media-queries pseudo-element

我正在尝试打印我的网页,但问题是 css 中的 ::after 始终显示在打印 View 中 我尝试遵循

@media print{
    .noprint{
        display:none;
    }
}

来自 here 的 CSS 程序

更新: 这是我的 CSS 代码

@media print{
#submenu,#submenu:after,#add,#view,#del,#edit,#menu_content,#menu{display:none;}
}//should i put double':'?

这是some part of page

最佳答案

正如 Mark Nijboer 在评论中提到的,以下规则有效:

@media print {
    *::after {
        display: none !important;
    }
}

另一种方法是:

@media print {    
    *noprint::after {
        content: '' !important;
    }
}

任何浏览器都不会显示没有内容的伪元素。

如果您坚持不使用 !important 来执行此操作,您要么必须使规则过于具体以确保覆盖所有其他选择器,要么您可以尝试找到一个属性你确定没有被任何伪元素使用。

关于html - 如何防止打印::在 css 之后?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27999863/

相关文章:

jquery - 我无法在移动(或小)屏幕上将标题固定在页面顶部

html - sizes 属性不适用于 srcset 中的不同来源

css - 我的媒体查询不工作,我不知道为什么。这是我第一次使用媒体查询

css - 媒体查询中窗口屏幕的实际大小

javascript - 将列表包装成列

asp.net - 复选框周围的空间

具有停止功能的 jquery 滚动内容

javascript - CSS 中的 Transitionend 似乎失败了,为什么?

javascript - 检测 HTML 表单上是否至少有一个字段已更改的最简单方法是什么?

c# - 一些 CSS 未加载