很久之前写了使用 background:url(#) 解决 IE bug,原理是请求一张不存在的图片,不过写法有些问题。
写为
background:url(#)
会增加一个http请求,比如当前css的URL为
http://imgcache.qq.com/qzonestyle/project/css/xxx.css
则会多请求一次
http://imgcache.qq.com/qzonestyle/project/css/xxx.css#
和以下类似(详见解决IE6.0.2800压缩HTTP数据Bug之草记)
http://imgcache.qq.com/qzonestyle/project/css/xxx.css?t=20100710.css
这样写可以避免这个问题
background: url(iesucks);
——————- 亡羊补牢的分隔线 2010-7-17 ——————-
上面的测试过程有些问题,经过用真实环境重新测试这样搞效果更差,若调用该css的页面地址是
/
则会先请求
/iesucks
之后301转向至
/iesucks/
改用透明图片不太甘心,不如变态一点,直接调用该css本身,因为css已经被下载并缓存了
background: url(http://imgcache.qq.com/qzonestyle/project/css/xxx.css);