让浏览器支持打印CSS Background
文章来自:设计学院 | 发表时间:2007-9-28 22:56:09
不知道你有没有遇到过,为什么在CSS里面写了background却打印不出来?因为默认情况下只打印
<img>里面的图片,忽略背景。我碰到过好几回,但是都懒得去想。看来只有客户的抱怨才会激发一个人的潜力。Andreas给了一个解决方案(
Sample页面):使用
list-style-image去hack代码如下:
1. #ti\tle {#FF0000;"> /* 6. */
2. display: list-item;#FF0000;"> /* 1. */
3. list-style-image: url(banner.jpg);#FF0000;"> /* 2. */
4. list-style-position: inside;#FF0000;"> /* 3. */
5. letter-spacing: -1000em;#FF0000;"> /* 4. */
6. font-size: 1pt;#FF0000;"> /* 5. */
7. color: #fff; /* 5. */
8. }
解释:
- 先赋予list-item属性
- 把背景图伪装成list-style-image
- 为了在Firefox里正常于是设置为inside
- 图片替换技术(MIR)
- 针对Opere的MIR的hack
- IE5和IE5.5不支持list-style-image,放弃
这样在IE6, Firefox 1.0/1.5和Opera 8.5都能正常通过,呼,全是我讨厌的hack…