【问题标题】:Why doesn't display none work in print media query?为什么在打印媒体查询中不显示任何内容?
【发布时间】:2017-04-04 00:44:15
【问题描述】:

我有一个网站需要打印,但没有任何可见的页眉、页脚或背景。对于页脚和容器背景,这很好用,但是我不知道如何隐藏我的页眉容器。

我的 HTML:

<div id=header>
    <div id=logoContainer>
          <a href="mainPage.php"><img id=logo src="xxx.png"></img></a>
      <div id=pageTitle>
        <h1 id=pageTitleText>TITLE</h1>
      </div>
      <div id=headerUserInfo>
        <span>Logged in as: <?php echo $_SESSION['login_user']; ?> | </span><a class=logout href="logout.php">Logout</a>
      </div>
    </div>
  </div>

CSS:

#header {
height:90px;
background:url("images/header.png") repeat-x scroll 0 0 #2d3133;}

@media print {
      #header {
        display: none !important;
      }
}

当打开 Chrome 检查器并选择标题容器时,@media 打印规则根本不会显示在标题中。 (渲染设置为在 Chrome 中模拟打印。)页脚和其他容器工作正常,它只是页眉。

我在这里错过了什么?

编辑:一个工作示例:

HTML:

<div id="tableContainer">

  <div class="buttonsDiv">
    <a href="new.php" class="mainButton">Button 1</a>
    <a class="mainButton">Button 2</a>
    <a class="mainButton">Button 3/a>
  </div>
</div>

CSS:

@media print {
      #header {
        display: none !important;
      }
      #footer {
        display: none;
      }
      #tableContainer {
        background: transparent !important;
      }

【问题讨论】:

  • 你能展示一个可以工作的容器的 html 和 css 吗?比较它们很重要,因为一个有效,另一个无效
  • 我编辑了主帖。
  • 好的,假设页脚工作正常,那么从发布的代码中,除了引号之外我没有看到任何问题,但你说你添加了它们。也许您的实际代码 css 或 html 中有拼写错误?你有没有试过打印出来看看是否出现标题?
  • 刚打印出来,出现页眉。其他一切看起来都像我想要的那样。我真的不知道我怎么会在这几个单词中出现任何拼写错误……
  • 好吧,如果您在 css 或 html 中拼写错误的标题,这将会中断。这样做:检查 css 文件以在 chrome 中打印。您应该能够看到标题的规则。确保它在那里并且正确。我不是指检查,而是指实际的 css 输出文件

标签: html css google-chrome


【解决方案1】:

使用" 定义id &lt;div id="header"&gt;

#header {
height:90px;
background:url("images/header.png") repeat-x scroll 0 0 #2d3133;}

@media print {
      #header {
        display: none !important;
      }
}
<div id="header">
    <div id=logoContainer>
          <a href="mainPage.php"><img id=logo src="xxx.png"></img></a>
      <div id=pageTitle>
        <h1 id=pageTitleText>TITLE</h1>
      </div>
      <div id=headerUserInfo>
        <span>Logged in as: <?php echo $_SESSION['login_user']; ?> | </span><a class=logout href="logout.php">Logout</a>
      </div>
    </div>
  </div>

【讨论】:

  • 谢谢,但这并没有帮助。这是检查员的两个屏幕截图。如您所见,标题容器的规则仍然不可见:imgur.com/a/wST6d
  • 您认为不应该对所有其他元素进行同样的处理吗? (但事实是,它们中的任何一个都必须完成。这不是 XHTML。)
  • @ppgcc74:引号没有任何区别。别担心。
  • @BoltClock 我没有看到除此之外的任何其他问题。这就是为什么我建议这样做,因为它可能是一些浏览器敏感代码
  • 是的。我能意识到。但想帮忙。对不起,除此之外
猜你喜欢
  • 1970-01-01
  • 2014-11-12
  • 2014-03-11
  • 2012-10-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-19
相关资源
最近更新 更多