@media打印不能使用display:none

时间:2015-07-21 15:49:15

标签: css printing media-queries

我一直在摸不着头几个小时,而在我的生活中,我无法弄清楚为什么它不起作用。我有一个Wordpress网站,我想隐藏标题,菜单和页脚内容被打印。在我的主题的style.css文件中,最底部有一个名为@media print的部分,其中存储了所有特定于打印的样式。我尝试在此部分中添加以下内容:

#search-box-wrap,
#search-box,
#inner-header,
#site-heading,
#site-generator,
#header,
#menu,
#sidebar,
#footer {
    display:none !important;
}

基本上所有这些ID都是我的Wordpress网站中的标题/菜单/页脚div。

我的样式表链接如下:

<link rel="stylesheet" type="text/css" href="<?php bloginfo( 'stylesheet_url' ); ?>" />

我发现很多主题建议从上面的样式表链接(我已经完成)中取出media参数,因为当您使用常规样式表包含打印样式时,您不能只使用media="screen"属性......这是有道理的,但我不明白为什么它仍然不起作用?

当我进入“打印预览”或使用我的Web开发人员工具栏查看“仅打印的CSS样式”时,即使在我的style.css文件中添加了此代码,我仍然会看到页眉/菜单/页脚部分。任何人都可以帮我解释为什么这不起作用?

1 个答案:

答案 0 :(得分:1)

如果您想使用此样式进行打印,则应添加media="print",请参阅下文:

<link rel="stylesheet" type="text/css" href="<?php bloginfo( 'stylesheet_url' ); ?>" media="print" />

详细了解媒体类型here

  

打印

     

用于分页材料和在打印预览模式下在屏幕上查看的文档。请参阅分页媒体部分   有关特定于分页媒体的格式问题的信息。

更新:与OP讨论后,这是有效的

  • 尝试直接链接,无需PHP代码