让浏览器支持打印CSS Background
发表于 2005年12月26日 10:09 PM @ 分类:Web Standards
不知道你有没有遇到过,为什么在CSS里面写了background却打印不出来?因为默认情况下只打印<img>里面的图片,忽略背景。我碰到过好几回,但是都懒得去想。看来只有客户的抱怨才会激发一个人的潜力。Andreas给了一个解决方案(Sample页面):使用list-style-image去hack代码如下:
#ti\tle { /* 6. */display: list-item; /* 1. */list-style-image: url(banner.jpg); /* 2. */list-style-position: inside; /* 3. */letter-spacing: -1000em; /* 4. */font-size: 1pt; /* 5. */color: #fff; /* 5. */}
解释:
- 先赋予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…
