【问题标题】:How to prevent printing the ::after css?如何防止打印 ::after css?
【发布时间】:2015-01-17 13:20:27
【问题描述】:

我正在尝试打印我的网页,但问题是 css 中的 ::after 总是显示在打印视图中我试图遵循

@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':'?

这里是

【问题讨论】:

  • 更重要的是,是什么生成了::after?如果生成它的那个没有标记.noprint,那么没有理由阻止打印伪元素。
  • 我在您发布的代码中没有看到任何::after 规则;你能发布更完整的css代码吗?
  • 不工作@harry .noprint,这是我的一些课
  • @media print{ *::after { display:none !important; } }
  • @CristalynDuena:很高兴您找到了解决方案,但添加 !important 绝不是一个好的实践伙伴。尽管它解决了您的问题,但也许更改 CSS 的顺序或选择器的特殊性可能是更好的解决方法。如果您可以发布演示示例(HTML + CSS),那么我们这里的一些人可以提供帮助。

标签: html css media-queries pseudo-element


【解决方案1】:

正如 Mark Nijboer 在 cmets 中提到的,以下规则会起作用:

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

另一种方法是:

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

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

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

【讨论】:

    猜你喜欢
    • 2014-12-09
    • 1970-01-01
    • 2010-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多