`

IE6 使用png透明图片的方法 [非JS方法]

 
阅读更多

在IE7和Firefox下肯定没问题!但是到了IE6下透明部分就变成灰色了。

如何使用我们前面说的AlphaImageLoader滤镜呢?很简单代码可以这样写(以top区域为例):

.header .top{
width:1000px;
height:116px;
margin-left:auto;
margin-right:auto;
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader
(enabled=true, sizingMethod=scale, src="/wp-content/themes/xilin/images/topbg.png");
}

这样我们在IE6下看效果的时候PNG的透明层就起作用了。但是当我们返回Firefox的时候,PNG的图没了?别急这是因为 AlphaImageLoader滤镜是IE系列浏览器的专属标签,Firefox当然不支持了。必须使用background-image属性在 Firefox下才起作用:

如果我们这样吧background-image加入到CSS样式中的话,如下:

.header .top{
width:1000px;
height:116px;
margin-left:auto;
margin-right:auto;
background-image:url(/wp-content/themes/xilin/images/topbg.png);
/* Firefox只支持这个方式 */
filter:progid:DXImageTransform.Microsoft.AlphaImageLoader
(enabled=true, sizingMethod=scale, src="/wp-content/themes/xilin/images/topbg.png");
}

这样我们在IE6 下看效果的时候PNG的透明层就起作用了。但是当我们返回Firefox 的 时候,PNG的图没了?别急这是因为AlphaImageLoader滤镜 是IE系列浏览器的专属标签,Firefox 当 然不支持了。必须使用background-image 属性在Firefox 下才 起作用:

如果我们这样吧background-image 加入到CSS 样式中的话, 如下:

.header .top{
width:1000px;
height:116px;
margin-left:auto;
margin-right:auto;
background-image:url(/wp-content/themes/xilin/images/topbg.png);
/* Firefox只支持这个方式 */
filter:progid:DXImageTransform.Microsoft.AlphaImageLoader
(enabled=true, sizingMethod=scale, src="/wp-content/themes/xilin/images/topbg.png");
}

会发现IE6 下的PNG 透明效果又没了!这个是因为在IE6background-image 也 起作用了,在IE6 下就有两个图重叠在一起,另一个属性会把灰色部分显示出来,所以我们必须使用一些小技巧,让浏览器 只去读属于自己的样式代码。

我们知道FirefoxOpera 等完全支持PNG 透 明图片的浏览器也支持子选择器(>),而IE不识别(包括IE7),所有我们可以通过这来定义Firefox、Opera等浏览器中PNG图片的样 式。

代码如下:

html > body .top{
/* for Firefox */
background-image:url(/wp-content/themes/xilin/images/topbg.png);
background-repeat: no-repeat;background-position: center center;
}

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

* .top{
/* for IE6 */
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader
(enabled=true, sizingMethod=scale, src="/wp-content/themes/xilin/images/topbg.png");
/* 这里在样式前加下划线是为了防止IE7浏览器来读取这个样式 */
}

这样,咱们要的效果就出来了,IE6、IE7、Firefox、Opera浏览器都能很好的显示这些透明图层,而互不干扰。

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

分享到:
评论

相关推荐

    IE6支持PNG透明图片方法

    总之,解决IE6支持PNG透明图片的方法包括使用CSS滤镜、JavaScript库、背景图片技巧、降级处理以及提示用户升级浏览器。尽管这些方法可以解决兼容性问题,但随着IE6市场份额的减少,更建议关注对现代浏览器的支持,...

    IE6png透明JS

    总的来说,“IE6png透明JS”是针对IE6浏览器PNG透明问题的一种技术解决方案,它利用JavaScript库和CSS滤镜来模拟或修复透明效果。随着浏览器更新换代,这个问题逐渐被解决,但对于仍然需要支持IE6的开发者来说,这些...

    ie6兼容png透明图片

    ie6兼容png透明图片,导入js即可使ie6兼容png透明图片,无需调用。

    js_IE6支持png透明解决png_ie6下不透明背景图片

    总之,要解决IE6中的PNG透明问题,开发者通常需要借助JavaScript库和CSS滤镜。虽然这种方法在技术上可行,但也会带来额外的性能开销,并且只能在IE6中生效。随着现代浏览器的普及,这个问题逐渐变得不再重要,但了解...

    IE6下PNG背景透明的方法

    2. **PNGFix方法**:由Dean Edwards开发的PNGFix.js是一个JavaScript库,它通过JavaScript动态修改页面元素的CSS,使IE6能够处理PNG的透明效果。只需在页面中引入这个脚本,并将需要透明的PNG图像链接到脚本即可。 ...

    ie6中png透明解决方案 js

    以上两种方法都可以有效解决IE6下PNG图片透明度的问题,但在实际应用中,考虑到IE6的市场份额逐渐减少,开发者也可能选择仅对现代浏览器提供PNG透明效果,而让IE6用户看到不透明的图片。 这个压缩包中的"ie6中png...

    最好的IE6下png透明图片修复代码

    DD_belatedPNG是这个修复方案的主要工具,它是一个JavaScript库,由Dean Edwards开发,专门用于解决IE6对PNG透明图片的支持问题。该库通过JavaScript模拟PNG透明效果,使IE6能够识别并正确渲染PNG-24格式的透明图片...

    ie6下png透明图片的处理

    总结起来,解决IE6下的PNG透明图片问题需要开发者具备跨浏览器兼容性知识,灵活运用CSS、JavaScript和服务器端技术。尽管IE6的市场份额已显著下降,但对于一些仍需支持旧版本浏览器的项目,理解并掌握这些解决方案...

    IE6下PNG透明代码

    5. **PNG透明修复脚本**:压缩包内的“IE6 PNG处理”脚本可能是一个JavaScript库,如DD_belatedPNG,它通过检测浏览器版本,对IE6下的PNG图片进行特殊处理,使其能够正确显示透明效果。这类脚本通常会分析图片,创建...

    IE6 PNG 透明处理方法

    这个库通过JavaScript代码来模拟对PNG透明的支持,从而使得在IE6中可以正确显示带有透明效果的PNG图片。文件“DD_belatedPNG_0.0.8a.js”就是这个库的一个版本,它可以通过引入到HTML页面中,来为IE6提供透明PNG的...

    IE6下png透明处理脚本(js)

    为了解决这个问题,开发者们提出了多种JavaScript解决方案,使得在IE6下可以实现PNG透明。 首先,我们要理解PNG的透明特性。PNG支持两种透明模式:索引色透明(即PNG8,使用1位Alpha通道)和真彩色透明(即PNG24,...

    IE 6 下PNG图片实现透明

    这段代码告诉IE6使用AlphaImageLoader滤镜来加载指定的PNG图片,并通过`sizingMethod`参数控制图片的大小。`scale`表示保持原始比例缩放图片,还有其他选项如`crop`可以裁剪图像。 另外,为了确保非IE浏览器不受...

    ie6下png透明图片显示不正常之最好的3种解决方案

    以下是针对“ie6下png透明图片显示不正常”问题的三种最佳解决方案: 1. **CSS滤镜法(AlphaImageLoader Filter)** IE6提供了一个特有的CSS滤镜属性,即`AlphaImageLoader`,可以用来处理PNG透明。在CSS样式中,...

    ie6下png图片透明方法

    针对IE6的PNG透明问题,一个常用的解决方案是使用“AlphaImageLoader”滤镜。这个滤镜是IE特有的,可以处理PNG图片的透明效果。在HTML中,我们可以这样应用滤镜: ```html <img src="image.png" style="filter:...

    完美解决IE6下png透明

    3. **CSS Sprites**:将多个PNG图像合并成一张大图,通过CSS的`background-position`来显示不同的部分,以此规避IE6的PNG透明问题。这种方法虽然不能解决单个图像的透明性,但可以减少HTTP请求,提高页面加载速度。 ...

    超好用的IE6png透明JS

    "超好用的IE6png透明JS"是一个专门解决这一问题的JavaScript库。这个库通过JavaScript代码来模拟PNG透明效果,使得在IE6浏览器中可以正确显示具有透明通道的PNG图片,从而提升了用户体验。虽然现在IE6的使用率已经...

    ie6 png 透明度 解决方法

    除了CSS方法,还可以借助JavaScript库来实现IE6的PNG透明度兼容。一种常见的解决方案是使用`DD_belatedPNG.js`库。这个库通过JavaScript动态插入CSS滤镜,实现PNG透明度支持。使用方法如下: 1. 将`DD_belatedPNG....

    IE6_PNG透明终极解决办法

    标题中的“IE6_PNG透明终极解决办法”指的是在Internet Explorer 6(简称IE6)浏览器中处理PNG图片透明度的问题。PNG格式的图片支持Alpha透明通道,允许半透明效果,但在IE6这个古老的浏览器中,对PNG8和PNG24格式的...

    让 IE6 支持 PNG 透明

    - `webfxlayout.local.js`可能包含JavaScript代码,用于检测浏览器版本并动态添加CSS样式,以确保在IE6下启用PNG透明。 7. **CSS和图片资源**: - `webfxlayout.local.css`可能是包含上述CSS样式的文件。 - `...

    IE6 png背景图片透明

    2. **JavaScript库**:有一些JavaScript库,如`DD_belatedPNG`,专门用于解决IE6的PNG透明问题。这些库通过动态创建`VML`(Vector Markup Language)元素来模拟PNG的透明效果。只需引入库并调用相应函数,即可使PNG...

Global site tag (gtag.js) - Google Analytics