`
魏祖清
  • 浏览: 180253 次
  • 性别: Icon_minigender_1
  • 来自: 福建
社区版块
存档分类
最新评论

CSS 过滤器 兼容ie,火狐和谷歌

    博客分类:
  • css
阅读更多
这篇汇总主要是提供一些CSS不透明的详细介绍,代码示例和解释,以实现这项有用的CSS技术在您的项目中兼容所有浏览器。



  关于CSS 透明度,有一点需要注意的是,它虽然使用了很多年,但它一直以来都不是一个标准属性。它是一种非标准技术,应该是CSS3规范的一部分。



1. 旧的Opacity设置



  以下代码是Firefox和Safari旧版本所需的透明度设置:



#myElement {      -khtml-opacity: .5;      -moz-opacity: 0.5;  } 


  -khtml-opacity设置是针对旧版本的Webkit渲染引擎,这种专用属性现在已经过时了,除非你还有需要兼容Safari 1.x.的用户。



第二行使用专用属性 -moz-opacity是 为了兼容Mozilla渲染引擎的早期版本,以及追溯到Netscape Navigator。Firefox 0.9以后就不要求使用-moz-opacity属性,Firefox 3.5(现在使用Gecko引擎)已经不在支持这个属性。



2. 在Firefox, Safari, Chrome和Opera下的CSS透明度



  以下代码是除了IE外的所有当前浏览器的最简单,最最新的不透明度设置的CSS语法:



#myElement {      opacity: .7;  } 


  上述语法将设置一个元素为70%不透明(或30%透明)。设置opacity:1将使元素不透明,而设置opacity:0将使得元素完全不可见。你 只要记住“opacity”等同于“不透明”就很容易记住了,opacity值越小就越接近透明。



  opacity属性可以精确地小数点后两位,所以值取“.01”和“.02”实际上是不同的,虽然可见度很难被发觉。一般情况下,精确到一位就可以了,取值如“.3”或“.7”。



3. IE下的CSS透明度



  IE下照旧有别于其他浏览器,并且目前也有三个不同版本的IE在广泛使用,透明度设置是不同的,有时需要额外的CSS来控制:



#myElement {      filter: alpha(opacity=40);  } 


  上面的CSS使用专用的filter属性来设置IE6-8透明度。对于IE6和IE7需要注意:为了使得透明设置生效,元素必须是“有布局”。一个元素可以通过使用一些CSS属性来使其被布局,有如width 和 position。关于微软专有的hasLayout属性详情,以及如何触发它,参考这里。



  另外一个设置IE8的CSS透明度的方法语法如下(注意注释中指出的版本):





#myElement {      filter: progid:DXImageTransform.Microsoft.Alpha(opacity=40);     /* 第一行在IE6, IE7和IE8下有效 */     -ms-filter:       "progid:DXImageTransform.Microsoft.Alpha(opacity=40)";    /*第二行仅在IE8下有效 */} 


  第一行代码针对当前所有IE版本,第二行仅针对IE8。



  注意两行代码的不同之处:在第二行代码中,在filter属性前跟着-ms-前缀,并且属性值有加引号,这些都是语法所必须的。



  说实在,有了如前一个例子中用alpha(opacity=40)的语法来作用于任何版本的IE下的任何有布局的元素之后,我也不确定是否还有必要用“progid”的方法。



4. 使用JavaScript设置和改变CSS透明度



  您可以使用下面的语法访问JavaScript中的CSS opacity 属性:



document.getElementById("myElement").style.opacity = ".4";  // 针对所有现代浏览器  document.getElementById("myElement").style.filter =    "alpha(opacity=40)";// 针对IE


  上面的代码可以使用行内循环或者其他动态函数递增修改透明度的值。当然,你必须先通过特征检测来决定使用哪一行代码。



5. 使用JQuery设置和改变CSS透明度



  直接使用jQuery设置CSS透明度更直观更容易实现,因为在所有浏览器代码都一样,并且你不必担心在IE下元素是否“haslayout”:



$("#myElement").css({ opacity: .4 }); // 所有浏览器有效


  您也可以使用一下jQuery代码使一个元素动画透明:



$("#myElement").animate({      opacity: .4      }, 1000, function() {      // 动画完成,所有浏览器下有效  }); 


  不管元素的透明度在动画开始时是多少,它都会渐变到透明度为“.4”。动画的速度通过值“1000”设定,动画时间以毫秒为单位。代码中的最后一个属性是一个可选回调函数,将在动画完成后执行。



  如果该元素的透明度在CSS中已经设定为“.4”,那在动画运行的时候,你将不会发觉有任何不同,所以动画开始和最终透明度要有所不同。



6. 通过 RGBA的透明度



  另一个CSS3技术只支持部分新的浏览器(Firefox 3+, Opera 10.1+, Chrome 2+,Safari 3.1+),可通过RGBA的alpha通道的方式设定。语法如下:



#rgba {      background: rgba(98, 135, 167, .4);  }


  在上面的定义中,通过RGB(前三个数字)给背景设定颜色,然后最后一个是alpha设置,以执行给定颜色的透明度。这个alpha设置跟opacity 属性一样,可设定任何0到1的数字,精确得到两位小数点。数字值越大,就越接近完全不透明的颜色。



7. 通过 HSLA的透明度



  类似之前的定义,CSS3还允许使用HSLA单独设置颜色和alpha值,HSLA表示Hue(色调), Saturation(饱和度), Lightness(亮度), 和Alpha。以下是HSLA透明的例子:



#hsla {      background: hsla(207, 38%, 47%, .4);  } 


  更多关于HSLA颜色的解释,参考这篇来自W3.org的文章。如同RGBA透明度,最后的数字表示透明度设置,跟RGBA起同样的作用。注意RGBA和HSLA透明度的一个重要的好处是这些透明度设置不会影响到子元素的,但通过opacity属性的方式则会。alpha设置的RGBA和HSLA只影响背景颜色的透明度,仅此而已。

分享到:
评论

相关推荐

    Firefox和IE浏览器兼容JS脚本写法小结

    通过`getEvent()`函数,我们可以获取到当前事件,同时兼容IE和Firefox。函数内部通过判断条件检查事件对象是否存在,从而实现兼容。 2. **屏蔽Form提交事件**: 在阻止表单提交时,IE使用`event.returnValue=false...

    兼容IE6+的文件上传控件plupload工具包

    它不仅支持HTML5的先进特性,如拖放上传,同时也为不支持HTML5的浏览器提供了回退方案,确保在谷歌、火狐以及不同版本的IE(包括6、7、8、9和10)等主流浏览器上的兼容性。 **1. 功能特性** - **多浏览器兼容**:...

    IE7软件下载IE7软件下载IE7软件下载

    5. ** 替代选择 **:鉴于IE7的局限性,考虑使用更现代的浏览器,如Google Chrome、Firefox或Microsoft Edge,以获得更好的浏览体验和更全面的安全保障。 综上所述,IE7是微软在互联网早期阶段推出的重要产品,它在...

    Angel工作室新闻网站管理系统 v1.3.zip

    Angel工作室企业新闻门户管理系统全DIV CSS模板,防注入sql关键字过滤,多浏览器适应,完美兼容IE6-IE8,火狐,谷歌等符合标准的浏览器,模板样式集中在一个CSS样式中,内容与样式完全分离,方便网站设计人员开发模板...

    IE7-WindowsXP-x86-chs.rar

    标题 "IE7-WindowsXP-x86-chs.rar" 指的是 ...对于仍在使用Windows XP的用户来说,升级到更现代的浏览器(如Google Chrome、Firefox或Microsoft Edge)是明智的选择,这些浏览器提供了更好的性能、安全性和兼容性。

    网页浏览器的使用.docx

    除了IE,还有Firefox(Mozilla)、Opera(Apple)、Chrome(Google)等流行浏览器,它们各自具有独特的特点和优势,如Firefox的安全性和定制性,Opera的轻量级和速度,以及Chrome的稳定性与性能。 总结来说,网页...

    Google Chrome 6.0.451.0 Dev 版(一个由Google公司开发的网页浏览器)

     AdBlock -- 广告过滤,可以过滤掉绝大多数广告,本插件在Firefox就顶顶有名,安装量、热度也是很好的。 安装该插件,可以选择安装Browser Button for AdBlock。  IE tab -- 使用IE内核 浏览 Chrome 还不兼容的...

    CSS 网页制作时遇到问题的快速参考技巧

    对于**CSS过滤器**,尽量减少使用,只在万不得已时作为最后的解决方案,因为它们可能导致更多的兼容性问题。 在处理**超链接样式**时,记住**“LoVe/HAte”链接伪类规则**,即`L:link`, `V:visited`, `H:hover`, `A...

    Angel_asp(AngelCms)

    完美兼容IE6-IE8,火狐,谷歌等符合标准的浏览器,模板样式集中在一个CSS样式中,内容与样式完全分离, 方便网站设计人员开发模板与管理。系统较为安全,以设计防注入,敏感字符屏蔽。新闻,产品,单页独立关键字设计...

    Angelcms2.1无错误版

    完美兼容IE6-IE8,火狐,谷歌等符合标准的浏览器,模板样式集中在一个CSS样式中,内容与样式完全分离, 方便网站设计人员开发模板与管理。系统较为安全,以设计防注入,敏感字符屏蔽。新闻,产品,单页独立关键字设计...

    Kuwebs企业网站管理系统_V1.0_UTF8

    2.DIV+CSS布局,全部兼容IE6、IE7、IE8、Firefox、Opera、Safari、谷歌、腾讯TT、360度、遨游等主流浏览器。 3.程序和界面分离,提供通用的PHP标准语法字段供前台调用,可以为不同的页面设置不同的风格。 4.支持多级...

    谷歌师兄的leetcode刷题笔记-accecss:AcceCSS一个SassMixin调试和检查你的设计的可访问性

    谷歌师兄的leetcode刷题笔记加入CSS 一个 Sass Mixin,用于调试和检查您的设计的可访问性 这个 mixin 将允许您获得布局的所有区域的概览,获得一个灰度版本来检查对比度,以及 8 种不同的过滤器来模拟最常见的色盲...

    jquery教程jquery教程

    不仅如此,jQuery 还兼容各种浏览器,包括IE 6.0+、Firefox和Opera 9.0+,这使得它成为跨平台开发的首选工具。 要开始使用jQuery,首先需要下载jQuery库。你可以从官方或镜像站点获取,例如:...

    Jquery 下拉框美化插件

    `Jquery Select 美化插件`就是为了改善这一情况而出现的,它提供了更加优雅、直观的用户界面,支持多种主流浏览器,包括谷歌(Google Chrome)、火狐(Firefox)以及IE等。本文将详细讲解这个插件的使用、功能及特点...

    w2ui-1.3,zip

    1. **跨浏览器兼容性** - 尽管w2ui 1.3对IE浏览器的兼容性不是特别理想,但它完美支持火狐(Firefox)和谷歌(Chrome)等现代浏览器,确保在主流浏览器上运行流畅。 2. **响应式设计** - w2ui 1.3的组件设计考虑到...

    fck编辑器非常好用

    - **跨平台**:FCKeditor支持多种浏览器和操作系统,包括IE、Firefox、Chrome等。 - **源码编辑模式**:除了可视化编辑,还提供源代码编辑模式,方便高级用户直接修改HTML代码。 3. **使用FCKeditor** 要在网站...

    Asp.Net图片预览 支持多种浏览器

    本文将深入探讨如何实现一个跨浏览器的图片预览系统,以支持包括Internet Explorer(IE)、Google Chrome、Firefox、Opera在内的多种浏览器。 首先,理解Asp.Net图片预览的基本原理。在Asp.Net中,图片预览通常通过...

    酷纬企业网站管理系统Kuwebs 3.0 双语版.zip

    2.DIV CSS布局,全部兼容IE6、IE7、IE8、Firefox、Opera、Safari、谷歌、腾讯TT、360度、遨游等主流浏览器。 3.程序和界面分离,提供通用的PHP标准语法字段供前台调用,可以为不同的页面设置不同的风格。 4.支持...

    phpcms2008_gbk

    前台、后台、会员中心模板都采用 DIV+CSS,兼容 IE 和 Firefox 浏览器,访问速度快,引入jquery框架,广泛应用了AJAX无刷新技术,保持了良好的用户体验。 7、支持推荐位功能,轻松实现网站精华内容精准投放 商业...

    phpcms2008

    前台、后台、会员中心模板都采用 DIV+CSS,兼容 IE 和 Firefox 浏览器,访问速度快,引入jquery框架,广泛应用了AJAX无刷新技术,保持了良好的用户体验。 7、支持推荐位功能,轻松实现网站精华内容精准投放 商业...

Global site tag (gtag.js) - Google Analytics