首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用DIV的可打印样式表

问使用DIV的可打印样式表
EN

Stack Overflow用户
提问于 2012-04-16 06:49:00
回答 2查看 146关注 0票数 3

我有一个网站,我正在尝试制作一个可打印的版本,我正在使用新的打印样式表,但我遇到了一个问题。我有一个星级的DIV,它只是html文件中的一个空DIV,但在常规的CSS中,我有实际星级的背景图像。

html文件中的DIV如下所示:

代码语言:javascript
复制
<div class="example_rating"></div>

常规样式表中的代码如下所示:

代码语言:javascript
复制
.example_rating {

  height:40px;

  width:200px;

  margin-left:20%;

  background: url('../stars.png') no-repeat scroll 0 0 transparent;

  }

我的问题是,星级评分根本没有显示在网页的可打印格式中。我没有隐藏DIV或任何东西,但我不确定我可以做些什么来让它以可打印的格式显示出来。

我意识到这个问题可能有点模糊,但我不确定如何解释它。不过,如果需要的话,我绝对可以给出更多细节。谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-04-16 06:58:08

在CSS中,星星呈现为背景图像,并且在打印时,默认情况下通常不显示背景。

您必须将星形显示为<img>,或者告诉您的用户启用背景打印。

编辑:

解决这个问题的最简单方法是将星级打印为文本和背景图像,然后使div中的字体透明(在打印样式表中为黄色)。示例:

代码语言:javascript
复制
<div class="example_rating">
  4/5 stars.
</div>

样式表:

代码语言:javascript
复制
.example_rating {
  color:Transparent;
  /* Alternatively: text-indent: -9999px; */
  height:40px;
  width:200px;
  margin-left:20%;
  background: url('../stars.png') no-repeat scroll 0 0 transparent;
}

EDIT 2:

您可以尝试将此代码放入打印样式表中:

代码语言:javascript
复制
.example_rating {
  background: none;
}
.example_rating:after {
  content: '4/5 stars'
}

这将使用CSS将一些文本放入div中,如果只将其放入打印样式表中,则只有在打印时才会出现!

票数 5
EN

Stack Overflow用户

发布于 2012-04-16 06:57:49

尝试创建新的仅打印样式表...如下所示:

代码语言:javascript
复制
<link rel="stylesheet" type="text/css" media="print" href="print.css" />

或在当前样式表中,将打印样式放入

代码语言:javascript
复制
@media print { 
}
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10166858

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档