让PNG图片在IE6.0下也能背景透明

透明PNG背景图片 For IE 6.0 Firefox Opera PNG图片在网页设计中扮演着一个很重要的角色,利用PNG图片的特点可以制作出实用,绚丽的效果,可是对于PNG图片的支持却不是很理想,FirefoxOperaPNG支持的比较好,特别是Firefox浏览器。可是IE却不理PNG,使得设计者无法很随意的使用png图片。 效果预览 IE5.5+的AlphaImageLoader滤镜为通向png提供了一个道路,如果他载入的是PNG(Port... 阅读详情

应用PNG图片的透明或半透明的特性能做出非常漂亮的网页来。Firefox和Opera对PNG的支持非常的好,都是IE却无视PNG图片这一特性的 “存在”,虽然IE7已经支持都是IE6还是不行。查了一些资料,基本解决了这一问题,准备应用到PJskin上。
虽然有让IE6支持PNG透明背景的JS程序,都是不是很方便,还是用CSS来实现的好。使用到的就是:

    语法:

    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 地址指定背景图像。假如忽略此参数,滤镜将不会作用。

    说明:

    在对象容器边界内,在对象的背景和内容之间显示一张图片。并提供对此图片的剪切和改变尺寸的操作。如果载入的是PNG(Portable Network Graphics)格式,则0%-100%的透明度也被提供。

    PNG(Portable Network Graphics)格式的图片的透明度不妨碍你选择文本。也就是说,你可以选择显示在PNG(Portable Network Graphics)格式的图片完全透明区域后面的内容。

    了解了以上的内容,可以写一段简单的CSS代码(还不是完全正确的代码):

 

#div1 {
height: 600px;
width: 260px;
padding: 20px;
background-repeat: repeat;
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=scale, src=”bj1.png”

}

    这段简单的CSS代码就可以在IE中正常的显示PNG透明背景,但是会发现在FF下不会出现背景,分析原因:
    AlphaImageLoader滤镜只能被IE支持,FF是不支持该滤镜的
    有些初次写的时候很多人会这样:
    在代码中添加这样一段: background-image: url(bj1.png);
    添加这样一段代码虽然能解决FF下的问题,都是IE又出现问题:新的背景会覆盖在滤镜的背景之上,导致滤镜显示无效,这时候就用到IE和FF对CSS读取的区别特性了:
Firefox、Opera等完全支持PNG透明图片的浏览器也支持子选择器(>),而IE不识别(包括IE7),所有我们可以通过这来定义Firefox、Opera等浏览器中PNG图片的样式。代码如下:

html>body #div1 {
background-repeat: repeat;background-image: url(bj1.png);
}

    同时,我们通过只有IE才识别的通配符(*),来定义IE浏览器中的滤镜。代码如下:

* #div1 {filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=scale, src=”bj1.png”)

}

    而#div1 {}就放一些IE和FF共用的设置来减少代码文件的大小。最终就是这样:

 

#div1 {
height: 600px;
width: 260px;
padding: 20px;
background-repeat: repeat;

}

html>body #div1 {
background-repeat: repeat;background-image: url(bj1.png);
}
* #div1 {filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=scale, src=”bj1.png”)

}

    需 要注意的是:AlphaImageLoader滤镜会导致该区域的链接和按钮无效,解决的办法是为链接或按钮添加:position: relative;这样条代码,使其相对浮动。AlphaImageLoader无法设置背景的重复,所以对图片的切图精度会有很高的精确度要求。
或:
在css中我还不让背景透明 只能让图片的alpha改变

    我教你一个别的方法也可以 不知道你看下怎么样

    1、把图片导入到flash中然后 把图片背景去掉
    2、现在只能看到图片和flash背景
    3、把flash放在网页中 选中flash 加入代码
<param name=wmode value=transparent>
    就可以了

IE6.0 PNG背景透明图片插件 <!--[if lte IE 6]><script src="http://xian.qq.com/js/2013js/2013index/DD_belatedPNG_0.0.8a.js" charset="utf-8"></script><script>DD_belatedPNG.fix("*");</script><![endi... 阅读详情

相关推荐

IE 6.0 Firefox Opera 下使背景PNG图片透明

PNG图片在网页设计中扮演着一个很重要的角色,利用PNG图片的特点可以制作出实用,绚丽的效果,可是对于PNG图片的支持却不是很理想,FirefoxOperaPNG支持的比较好,特别是Firefox浏览器。可是IE却不理PNG,使得设计者无法很随意的使用png图片IE5.5+的AlphaImageLoader滤镜为通向png提供了一个道路,如果他载入的是PNG(Portable Netwo...

weixin_34149796的博客 76

JS解决PNG图片IE6背景透明 DD_belatedPNG_0.0.8

    //引用js文件               DD_belatedPNG.fix(#top_logo,.menu,.more);     // 定义PNG图片的相关 CSS 标签                               function killErrors() {    return

DoNet解决方案 2631

背景图片缓存

关于IE6.0下的背景图片缓存.默认情况下在 IE6.0下的背景是不会进行缓存的,所以如果要做缓慢展开Div的那种效果,或者拖动的DIV的效果,如果给Div加上了背景图片的话,每次偏移量或者坐标发生改变的时候会重新重服务端下载背景.所以会出现一直在闪烁的图片..因此需要给设置背景图片缓存.在JS中加上document.execCommand("BackgroundImageCache

退思园 1387

PNG图片兼容方法

1、Unit PNG Fix Unit PNG Fix同样是一个修复IE6无法显示透明图片的JS它的主要特点有: 非常小的JS文件,只有1KB 解决因为IE的滤镜属性所带来的影响 无论是img元素或background-image属性都能有很好的效果 在加载页面之前就能自动运行,不需要再为png图片定义任何类名 允许自动高宽 超级简单的应用方法 Unit PNG ...

WANGBAOJUN194610的博客 312

JavaScript笔记(背景图片缓存)-2

关于IE6.0下的背景图片缓存. 默认情况下在IE6.0下的背景是不会进行缓存的,所以如果要做缓慢展开Div的那种效果,或者拖动的DIV的效果,如果给Div加上了背景图片的话,每次偏移量或者坐标发生改变的时候会重新重服务端下载背景.所以会出现一直在闪烁的图片..因此需要给设置背景图片缓存. 在JS中加上 document.execCommand("BackgroundImageCache...

weixin_30821731的博客 225

IE6 png透明(2)

好方法: 引入DD_belatedPNG_0.0.8a-min.js     DD_belatedPNG.fix('标签, background,img');

不怕不聪明,只怕聪明的人比我努力 370

html中支持透明图片的格式,IE6 png图片透明的解决方法教程

IE6中支持PNG透明图片完美解决方法-divcss5亲测从IE7及IE7以上版本都支持PNG透明格式图片,而唯独IE6不支持png格式透明图片,而GIF半透明效果不及png透明格式图片,由此我们迫不及待需要解决IE6兼容png图片方法,这里www.divcss5.com为你介绍一种万能支持Png透明图片css hack 。支持png透明图片解决方法图下文。一、需要JS文件支持 - ...

weixin_39586353的博客 880

IE5.5和IE6.0png背景透明问题

IE5.5和IE6.0png背景透明问题 最近发现了一个很简单就能处理ie5.5、ie6.0的超级简单的方法。 首先去http://www.twinhelix.com/css/iepngfix/下载 iepngfix.zip (15kb). 然后解压将里面的 iepngfix.htc 文件以及一个 blank.gif文件放在自己所建设网站文件夹中的确定位置, 接着切记,根据这两个文件的相...

happyjack 223

IE6PNG背景透明解决办法(IE6解决PNG透明

IE6PNG背景透明或者图片透明一直让人很伤脑筋,以前的解决办法也不尽完好。 最近在项目中,发现了一种几乎完美的解决办法。用JS在IE6下面实现png图和背景PNG透明。 不敢独享,写下这篇文章,也好为自己以后查阅,利人利己啊。 并且,可以解决a:hover 背景png的问题。下面开始,三步即可搞定IE6PNG透明问题。 第一步:下载JS文件DD_belatedPNG_0.0....

duoerbasilu 169

今天下午调试了一下IE6.0的bug

今天下午一直在调试IE6.0的bug碰 到了双margin的问题     IE8下正常             IE6下就不正常了。                    解决方法是:在那个浮动的块属性中加一句css命令 display:inline; 2、button按钮的背景问题。 background:url(all_png)left -675px no-repeat

flyrose25的专栏 511

IE6下面Jquery 动态改变Img src属性无效

其他的方式我就不说了,但是有一点 必须得注意:DD_belatedPNG_0.0.8a.js使IE6  png图片背景透明,但后面用Jquery 改变Img 的src熟悉是无效的。

1651

真正解决透明图片png图片ie6一下无法透明的实用方法

0.0.8a.js (未压缩版本, ~12Kb) 0.0.8a-min.js (压缩版, ~7Kb) 首先下载这js、调用之即可 之后在使用PNG的页面中引用代码         DD_belatedPNG.fix(’CSS选择器, 应用类型’);

AKmumu的专栏 853

IE6支持PNG透明(alpha通道)的4种方法

IE6与生俱来就支持png8的索引色透明度,但不支持png或8位以上的 alpha 透明度。而对于非动画的GIF建议你使用PNG8,因为体积会更小。 一、AlphaImageLoader 筛选器 使用简介:在每个标签样式中插入 filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=’image.png...

248

用 javascript 修复 IEPNG 图片不能透明显示的方法

[code="java"]// 说明:用 javascript 修复 IEPNG 图片不能透明显示的方法 // 整理:http://www.CodeBit.cn /* Correctly handle PNG transparency in Win IE 5.5 & 6. http://homepage.ntlworld.com/bobosola. Updated 18-Jan-...

louisnan的博客 296

完美解决网站PNG图标在IE6下的透明显示

现在IE6虽然有些落后,但不少xp用户还是首选IE6浏览器,一款经典长久也标准快速的浏览器必然会有忠实的用户,png图标IE6下默认是不支持的,可以通过js代码实现,下面由一叶扁舟为大家整理,代码可直接下载一、下载我整理好的js文件 上传至网站js目录中二、然后在需要实现透明的网页中head之间直接插入下面代码即可<!--[if IE 6]>&lt...

weixin_34179762的博客 183
上一篇: js刷新页面方法大全
下一篇: asp.net生成静态页面原理(转)
加油馒头
博客等级 码龄19年 289粉丝 87原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值