ie6下background png 透明问题
来源:互联网 发布:数据挖掘毕业设计 编辑:程序博客网 时间:2024/05/19 03:24
PNG 图片在网站设计中是不可或缺的部分,最大的特点应该在于 PNG 可以无损压缩,而且还可以设置透明,对于增强网站的图片色彩效果有重要的作用。
但为什么 PNG 图片却没有 GIF 和 JPG 图片的使用来得广泛呢,这个祸因应归属于微软的 IE 浏览器(Firefox 和 Opera 对 PNG 支持的比较好,而现在浏览器的主流IE6 却无法很好的支持)。不过微软在最近也开始改过自新了,新出的的 IE7 可以很好的支持 PNG,可以想象在未来的网络世界,PNG 图片的重要性将会更加凸显。
但在大家还在绝大多数的使用 IE6 的时候,我们又怎样在 IE6 的世界去完美使用 PNG 图片呢(PNG 图片的时候最重要的地方在于 PNG 透明背景图片的运用)。我们应该庆幸我们是幸福的!IE5.5+ 的 AlphaImageLoader 滤镜为通向 png 提供了一个道路,如果他载入的是 PNG(Portable Network Graphics) 格式,则 0%-100% 的透明度也被提供。但 IE5.0 无法支持属性,那只有完全绝望了,不过绝望的只是几个,得到是绝大数,我们应该知足,知足才会常乐。
现在我们将通过 Hack 和 AlphaImageLoader 滤镜来实现 IE6 下的 PNG 透明背景图片,不过由于 filter 的使用存在一定的性能问题,所以尽量少用。
先熟悉下滤镜的语法:
filter : progid:DXImageTransform.Microsoft.AlphaImageLoader ( enabled=bEnabled , sizingMethod=sSize , src=sURL )
属性:
enabled:可选项。布尔值(Boolean)。设置或检索滤镜是否激活。true | false
- true: 默认值。滤镜激活。
- false:滤镜被禁止。
sizingMethod:可选项。字符串(String)。设置或检索滤镜作用的对象的图片在对象容器边界内的显示方式。
- crop:剪切图片以适应对象尺寸。
- image:默认值。增大或减小对象的尺寸边界以适应图片的尺寸。
- scale:缩放图片以适应对象的尺寸边界。
src:必选项。字符串(String)。使用绝对或相对 url 地址指定背景图像。假如忽略此参数,滤镜将不会作用。
Firefox、Opera、IE7 等完全支持 PNG 透明图片的浏览器,而 IE6 不能很好识别,所有我们可以通过这来定义Firefox、Opera、IE7 等浏览器中 PNG 图片的样式。如下
#png {background: url(绝对路径/images/bg.png) repeat;}
而对于 IE6,我们都通过滤镜的方法来定义。我们通过只有 IE6 才识别的下划线(_),来定义 IE6 浏览器中的滤镜。如下:
#png {_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled='true', sizinMethod='scale', src="绝对路径/images/bg.png");_background:none;}
这样综合起来的最后方法就是:
#png {background: url(绝对路径/images/bg.png) repeat;_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled='true', sizingMethod='scale', src="绝对路径/images/bg.png");_background:none;}
不过需要注意的一个地方:
使用 AlphaImageLoader 后该区域的超链接和按钮会失效,解决的方法:对链接或按钮直接设置相对位置,让它们浮动于滤镜区域的上面。
参考文献:http://support.microsoft.com/kb/294714/zh-cn
文章转载自http://www.planabc.net/2007/01/10/ie6_png_hack/
- ie6下background png 透明问题
- IE6下png透明的问题
- 解决IE6下PNG透明问题
- IE6下png图片透明问题
- IE6 下 PNG透明
- ie6下png透明
- IE6 PNG 透明问题
- ie6下PNG图片透明
- ie6 下png背景透明
- IE6不支持PNG透明问题
- C#解决ie6下png图像透明问题
- IE6下PNG背景透明的显示问题
- 解决PNG图片在IE6下的透明问题
- 解决IE6下png图片的透明问题
- 解决png图片在IE6下的透明问题
- IE6下PNG背景透明的显示问题
- IE6下透明PNG图片有灰底的问题
- 使用DD_belatedPNG让IE6支持PNG透明图片 及IE6下背景图闪烁问题的解决方法
- 关于@synchronized(self)的用法
- 电梯突然断电下坠时,一定要这么做--能捡回一条命
- java的设计模式之代理模式
- linux下的find命令
- jstl动态标签的使用
- ie6下background png 透明问题
- Linux菜鸟学make install
- IOS iPhone 开发 UItableView中的单元格背景渐变
- 绘制方法---glDrawArrays与glDrawElements
- Linux kill, killall, kill -9
- 漫漫升级路: 从Ubuntu11.04到Ubuntu12.04
- 数据库操作中遇到的问题(日积月累工程)——原载于我的百度空间
- 高通量计算机
- VC++ List Control 的具体用法实例