【问题标题】:print css style not shown未显示打印 css 样式
【发布时间】:2011-07-31 14:54:20
【问题描述】:

我为 media= print 创建了一个样式,如下所示:

#content .inner h2 {
background:Red;
border-bottom:solid 1px #dfdfdf;
color:#000000;
font-size:20px;
padding-left:10px;
}

但是当我打印预览时没有显示红色。如果我设置 media=screen 并使用此样式表。然后显示红色。有什么提示吗?

【问题讨论】:

  • @BoltClock 我认为这就是答案 - 你可以发布它
  • @boltClock:我使用了背景色:红色;即使那样它也没有用。
  • 没关系。查看我们的答案。

标签: css


【解决方案1】:

取决于您使用的浏览器,但我怀疑是 MSIE?

默认情况下,许多浏览器在进入打印模式时会选择不渲染页面的背景颜色(通常在打印首选项对话框中有一个设置/选项可以更改此设置)。

要考虑的另一件事 - 当您引用样式表时,您可以:

  • 未正确指定媒体类型,因此无法加载
  • 浏览器有错误的行为并且从不加载样式
  • 您的打印样式被其他样式覆盖

有很多免费的工具可以帮助您识别应用于页面上任何给定元素的样式。如果您使用 FireFox,请查看 Web Developer extension(也可用于 Google Chrome on the authors site)。如果您使用 MSIE 或其他浏览器,您也许可以使用名为 Aardvark 的书签标记脚本(没有链接,因为我上次检查主站点被列为有恶意软件 - 小心浏览)。

【讨论】:

  • 你在阐述方面做得更好!
  • @BoltClock - 谢谢。很久以前打过类似这个问题的东西;可能值得一个不错的首字母缩略词......像“WYSINWYG”这样的东西 - 你看到的不是你得到的:)
【解决方案2】:

大多数浏览器只是忽略了background 及其在打印样式表中的相关属性。其中一些可能有一些允许打印背景的配置选项,但这是用户的选择,而且大多数情况下它们会默认不打印。

简而言之:您不能依赖打印样式表中的背景样式。

【讨论】:

  • 快点打败我吧——我猜我打字太多了 :)
  • 我认为说“大多数浏览器”是安全的。请注意,最近在 CSS WG mailing list 上对此进行了一些讨论。
  • @robertc:谢谢,已修改。该链接也很有用。
猜你喜欢
  • 2011-10-28
  • 2020-12-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-29
  • 2012-05-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多