把背景图片如常的合并,利用相似于背景坐标的方式调用局部图片位置 。最大区别在于分别定义了两个无意义的标签 。
为满足用户的视觉追求及产品的背景图片的换肤功能,设计师难免在设计上会用到半透明的效果 。因此页面重构师基于视觉及产品的需要,采用了PNG32的半透明图片还原设计稿 。
但在IE6中遇到png兼容性,及其延伸的种种问题 。如:png32的图片上在IE6有兼容性问题,原本的透明显示的背景将会失效 。在问题1的基础上,针对IE6采用了CSS滤镜让其透明,但图片不能应用背景坐标定位的方式只能单张使用,这做法不利于带宽流量和请求链接数之余也不利样式的管理在问题2的基础上,意味着要把png图片单张切割,并单张应用CSS滤镜
针对以上问题重构师的解决办法如下:
把背景图片如常的合并,利用相似于背景坐标的方式调用局部图片位置 。最大区别在于分别定义了两个无意义的标签 。一个标签作为模拟背景的载体标签:定义一个作为载体的标签,针对IE6以滤镜的形式导入图片,宽高与背景一致 。另一个标签作为截取背景局部位置的截取标签:定义此标签宽高与预想调用背景局部位置大小一致,并隐藏其溢出的部份 。最后计算出预想调用背景局部位置的坐标,定义在载体标签中 。
HTML结构如下:
div title=载体
div title=截取/div
/div
为了清晰的体现HTML结构,给标签添加了title属性,加以说明 。
实现步骤(分3步):
1、载体标签:定义一个作为载体的标签,针对IE6以滤镜的形式导入图片,宽高与背景一致 。(注意:滤镜图片路径相对于页面,而不是CSS的位置)
div title=载体 style=width:440px;height:440px; _filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=https://www.rkxy.com.cn/dnjc/’bg.png’);/div
推荐阅读
- IE6/IE7下绝对定位position:absolute和margin的冲突问题解决
- IE 6不支持min-height或max-width等属性的完美解决方案
- 写CSS样式做浏览器兼容时区别ie8和ie9的方法
- IE6、IE7、IE8、Firefox兼容性CSS HACK代码及示例
- css div实现的遮罩层完美兼容IE6-IE9 FireFox
- overflow:hidden 解决IE6,IE7不能隐藏绝对定位溢出的内容
- html 滚动条在IE6和IE7中兼容性问题
- WIN7操作系统下做好IE6,IE7的兼容性测试
- 阴影 IE下模拟css3中的box-shadow效果代码
- IE6,IE7浏览器下 margin 无效的解决方法