`
a68091555
  • 浏览: 26425 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

兼容IE6 IE7 IE8 FF Opera Chrome 的最精简PNG透明方法

阅读更多
先附上一个文档:IE6 IE7 IE8 Hack测试官方文档: http://msdn.microsoft.com/en-us/library/cc351024(VS.85).aspx



网上一直有很多关于让IE6支持透明PNG的办法。不过问题是现在讨厌的IE7,IE8出现了,那些方法都有不兼容新浏览器的地方(包括重复渲染,比如原来设定的50%透明度,重复渲染了就变成不透明了……)

于是为了解决这个问题我不惜在这台很“差”的电脑上同时装上了IE6 IE7 IE8 FF……(IE8为Beta版本,正式版本的共存版本没有找到……)。

说明:以下方法通过CSS Hack实现。

网上还有文章,关于ie6 ie7 ie8 ff的CSS Hack测试结果,根据结果你也可以自己写出针对性的PNG透明方法,但是这里给出的是一个最简单的。

首先说下针对思路。以下是透明背景与透明滤镜的各种测试结果:

透明背景PNG:IE6 不支持 | IE7 支持 | IE8 支持 | FF 支持

透明背景滤镜:IE6 支持 | IE7 支持 | IE8 支持 | FF 不支持

滤镜和背景重叠:IE6 /(不可能共存) | IE7 重叠 | IE8 不重叠 | FF /(不可能共存)

网上有一个广为流传的透明办法,但是非常复杂而且对于IE8也有兼容问题。于是根据各种浏览器的Hack,本人写出了一个兼容IE6 IE7 IE8 FF的最精简的PNG透明代码:



类 {
width: 100%; height: 100%; background: url(PNG地址) no-repeat left top; {你的其他代码}
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=scale, src="PNG地址");
_background: none;
}

以下是代码高亮后的代码(代码是一致的,只是为了增加可读性):

类 {
width: 100%; height: 100%; background: url(PNG地址) no-repeat left top;
{你的其他代码}
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=scale, src="PNG地址");
_background: none;
}

以上:

粗体部分表示重点注意,必须保留的部分(但是也不代表没有加粗的部分就不用保留了- -||)

斜体部分表示你需要根据自己的实际情况修改的地方。



width: 100%; height: 100%; 这个必须保留 不过100%可以修改,因为如果没有宽或高,滤镜就会失效~

no-repeat left top 这个可以写 也可以不写 自己实际情况修改

{你的其他代码} 这里就写你的其他代码,如display: inline等等~

_background: none; 这个虽然不写也貌似没有问题,但是还是避免小问题,把这句写上。



Hack原理说白了很简单,“_属性”这个只有IE6支持,于是 滤镜只针对了IE6,无背景 也只针对了IE6。



注意:

(1)透明Filter将会导致那一块区域的超链接(文字及图片)、表单全部无法点击 (IE6问题),因为滤镜在IE6中位于超链接、表单之上。解决办法就是使它们相对浮动(Css语句: position: relative; 推荐用法: _position: relative; )

(2)CSS Hack 无法通过 W3C 的 CSS 检验
分享到:
评论

相关推荐

    jsencrypt.js 兼容IE,Chrome,FF

    jsencrypt 兼容IE8,Chrome,FF,包括exports.default,Object.defineProperty不兼容问题处理等。

    兼容ie,FF,chrome,opera的弹出层居中js

    标题“兼容ie,FF,chrome,opera的弹出层居中js”所指的就是一个JavaScript实现的弹出层(popup layer)定位代码,它能在Internet Explorer(IE)、Firefox(FF)、Chrome以及Opera这些主流浏览器中实现居中显示。...

    ie6 ie7 ff浏览器兼容

    #### 标题解析:“ie6 ie7 ff浏览器兼容” 该标题明确指出了文章关注的核心问题——即确保网页能在IE6、IE7及Firefox等浏览器中正确显示。这意味着开发者需要采取一定的措施来适配这些浏览器,确保无论用户使用何种...

    如何让div+css兼容ie6 ie7 ie8 ie9和FireFox Chrome等浏览器.pdf

    针对标题提及的"如何让div+css兼容ie6 ie7 ie8 ie9和FireFox Chrome等浏览器",这里将详细讨论一些关键的CSS兼容性问题及解决方案。 1. **DOCTYPE的影响**: DOCTYPE声明会影响浏览器进入何种文档模式。在HTML4或...

    CSS样式兼容IE6、IE7、IE8、FF火狐浏览器的方法

    在探讨CSS样式兼容IE6、IE7、IE8与火狐浏览器的方法时,我们需深入理解不同浏览器对CSS的支持差异,以及如何通过特定的技术手段确保网页在这些浏览器中的一致性和美观性。以下是对这一主题的详细解析: ### 1. 了解...

    div+css兼容ie6ie7ie8ie9和FireFoxChrome等浏览器方法[借鉴].pdf

    本文将深入探讨如何使CSS样式兼容IE6、IE7、IE8、IE9以及Firefox、Chrome等现代浏览器。 1. **DOCTYPE声明的影响**: DOCTYPE声明对于浏览器的渲染模式至关重要。在HTML文档的顶部加入正确的DOCTYPE,如`<!DOCTYPE...

    CSS完美兼容IE6IE7FF的通用方法

    ### CSS完美兼容IE6、IE7与Firefox的通用方法详解 在Web开发的历史长河中,浏览器兼容性一直是开发者面临的重大挑战,尤其是处理早期版本的Internet Explorer(IE6和IE7)与现代浏览器如Firefox之间的差异。本文将...

    CSS完美兼容IE6_IE7_FF的通用方法

    本文将探讨一种通用方法来解决CSS在IE6、IE7及Firefox中的兼容性问题,通过使用特定的CSS Hack技巧,使网页能够优雅地适应这些浏览器。 #### CSS Hack详解 **1\. IE6/IE7与Firefox的CSS Hack** 在CSS中,可以通过...

    上传图片预览-兼容IE6,IE7,IE8,FF

    标题中的“上传图片预览-兼容IE6,IE7,IE8,FF”指的是一个Web开发的技术解决方案,目的是实现图片上传前的预览功能,并确保该功能在早期版本的Internet Explorer(IE6、IE7、IE8)以及Firefox浏览器上都能正常工作...

    兼容ie6/ie7/ie8/ff 省市县的js

    标题“兼容ie6/ie7/ie8/ff 省市县的js”指的是一个JavaScript插件或库,其主要目的是解决浏览器兼容性问题,特别是针对较老版本的Internet Explorer(IE6、IE7、IE8)以及Firefox(FF)。这个选择器功能允许用户在...

    JS图片预览(兼容IE6、IE7、IE8和FF)

    在JavaScript(简称JS)中实现图片预览,尤其是在兼容老版本的Internet Explorer(如IE6、IE7、IE8)以及Firefox(FF)等浏览器上,需要考虑多种技术策略和兼容性问题。下面我们将详细讨论如何实现这个功能,并着重...

    JavaScript 瀑布流 吸顶 兼容IE FF Chrome

    实现JavaScript瀑布流兼容IE、Firefox和Chrome的方法包括: 1. 使用条件注释或者现代izr库来检测浏览器版本和特性。 2. 对于不支持CSS3 Flexbox或Grid的浏览器,可以使用JavaScript来计算和设置元素的样式,如宽度...

    ie6_ie7_ie8_ff(火狐)浏览器兼容性

    在IT行业的前端开发领域,浏览器兼容性一直是一个关键议题,特别是在处理旧版浏览器如IE6、IE7、IE8以及火狐(Firefox)时。本文将深入探讨这些浏览器的兼容性问题,以及如何通过特定的技术手段来实现跨浏览器的一致...

    js绘图类库(兼容IE/FF/chrome) web流程图、图表

    1、基于raphael2.0的绘图(内含大量...2、几乎兼容所有浏览器包括ie, firefox,chrome,opera, Safari 3、内含说明文档和演示代码,详见demo文件夹 4、可动态拖动图形(贝磁曲线、动态拾色器、图表、地图导航、流程图等)。

    java跨全域兼容ie/ff/chrome浏览器多文件上传(原创)

    7. **浏览器兼容性**: 题目中提到了ie/ff/chrome,这意味着该解决方案考虑了Internet Explorer、Firefox和Chrome这三大主流浏览器的兼容性问题。对于老版本的IE,可能需要额外的适配代码来确保功能正常运行。 8. **...

    一个图片居中的CSS示例,兼容IE6,7,8和FF,opera,safari

    这个示例提供的是一种跨浏览器的解决方案,旨在确保图片在IE6、IE7、IE8以及Firefox、Opera、Safari等主流浏览器中都能实现居中对齐。我们将深入探讨这个CSS示例中的关键技术点。 首先,我们来讨论如何实现图片水平...

    IE6、IE7、IE8、Firefox、Chrome、Safari的CSS hack兼容一览表

    ### IE6、IE7、IE8、Firefox、Chrome、Safari的CSS Hack兼容一览表 在Web开发过程中,为了确保网站能够在不同的浏览器中保持一致的显示效果,开发者常常需要运用CSS Hack技术来解决浏览器间的兼容性问题。CSS Hack...

Global site tag (gtag.js) - Google Analytics