JunChen Wu / 标准

让浏览器支持打印CSS Background

写于 2005年12月26日 22:09

不知道你有没有遇到过,为什么在CSS里面写了background却打印不出来?因为默认情况下只打印<img>里面的图片,忽略背景。我碰到过好几回,但是都懒得去想。看来只有客户的抱怨才会激发一个人的潜力。Andreas给了一个解决方案(Sample页面):使用list-style-image去hack代码如下:

  1. #ti\tle { /* 6. */
  2. display: list-item; /* 1. */
  3. list-style-image: url(banner.jpg); /* 2. */
  4. list-style-position: inside; /* 3. */
  5. letter-spacing: -1000em; /* 4. */
  6. font-size: 1pt; /* 5. */
  7. color: #fff; /* 5. */
  8. }

解释:

  1. 先赋予list-item属性
  2. 把背景图伪装成list-style-image
  3. 为了在Firefox里正常于是设置为inside
  4. 图片替换技术(MIR
  5. 针对Opere的MIR的hack
  6. IE5和IE5.5不支持list-style-image,放弃

这样在IE6, Firefox 1.0/1.5和Opera 8.5都能正常通过,呼,全是我讨厌的hack…

Warm Regards,
J.

原文地址:http://www.junchenwu.com/2005/12/css_background.html