CSS透明opacity和IE各版本透明度滤镜filter的用法

css3的透明度属性opacity想必大家都已经用的无处不在了。而对于不支持css3的浏览器如何进行透明处理,保持浏览器效果的一致,本篇文章主要介绍了详解css透明opacity和ie各版本透明度滤镜filter的最准确用法,有兴趣的可以了解一下。

CSS3的透明度属性opacity想必大家都已经用的无处不在了。而对于不支持CSS3的浏览器如何进行透明处理,保持浏览器效果的一致,这个估计谁都会写,但是涉及到filter的具体语法含义和各版本写法的不同区别,很多人都搞不准确,我曾经问过许多群里的大牛,说的都不是很准确,网上的说法就更五花八门了。今天呢,主要是重新温习一下这个属性,并实际测试来说明正确的写法,和IE各版本的支持度和书写区别。

首先,Opacity属性用来设置一个元素的透明度,取值范围是0~1之间,不可为负值。opacity取值为1是完全不透明,取值为0是完全透明,视觉上看不见。关于浏览器对opacity属性的兼容性请继续往下看:

从Firefox3.5+不再支持私有属性-moz-opacity了,在Mozilla 1.7 (Firefox 0.9)之前FF都是使用这个私有属性的,Firefox 0.9-Firefox3同时支持-moz-opacity和opacity这两个属性,现在回想起刚入职场不久那时候,正好是Firefox升级到3.5之后,一些做好的页面透明效果突然没有了,如今已经CSS3铺天盖地,概叹时光荏苒啊。

IE9+才开始支持CSS3 opacity,而对IE6-IE8我们习惯使用filter滤镜属性来进行实现。IE4-IE9都支持滤镜写法progid:DXImageTransform.Microsoft.Alpha(Opacity=xx).

立即学习“前端免费学习笔记(深入)”;

IE8又引入了特殊的-ms-filter,IE认为这种写法是对旧写法的一次更正,更符合规范,这个写法的属性值只是多了一对引号,效果同前。不过,这种写法的寿命也不长,到IE10对filter与-ms-filter都已经不再支持。

Safari 1.2之前的版本,是基于khtml的浏览器内核,1.2版发布后,不再支持-khtml-opacity的写法,-khtml-opacity也随之成为历史。

Konqueror从未支持过-khtml-opacity,从4.0版本开始已经支持opacity。

除IE外,目前主流浏览器 Opera 9.0+,Safari  1.2(WebKit 125) +,chrome等等都支持opacity这个透明度属性。

IE 从4.0版开始,就提供了一些内置的多媒体滤镜特效,具体的使用方法是:

语法:

filter : filter 

参数: 

filter :  要使用的滤镜效果。多个滤镜之间用空格隔开。

说明:

1、设置或检索对象所应用的滤镜效果。

2、要使用该属性,对象必须具有height,width,position三个属性中的一个。

3、滤镜的机制是可扩展的。可以开发和使用第三方滤镜。

4、该属性在MAC平台上不可用。

5、对应的脚本特性为filter。

IE4.0以上版本,支持以下14种滤镜:

①、Alpha     让HTML元件呈现出透明的渐进效果

②、Blur     让HTML元件产生风吹模糊的效果

③、Chroma     让图像中的某一颜色变成透明色

④、DropShadow     让HTML元件有一个下落式的阴影

⑤、FlipH     让HTML元件水平翻转

⑥、FlipV     让HTML元件垂直翻转

⑦、Glow     在元件的周围产生光晕而模糊的效果

⑧、Gray     把一个彩色的图片变成黑白色

⑨、Invert     产生图片的照片底片的效果

⑩、Light     在HTML元件上放置一个光影

⑪、Mask     利用另一个HTML元件在另一个元件上产生图像的遮罩

⑫、Shadow     产生一个比较立体的阴影

⑬、Wave     让HTML元件产生水平或是垂直方向上的波浪变形

⑭、XRay     产生HTML元件的轮廓,就像是照X光一样

Alpha 滤镜参数详解

①、Opacity     不透明的程度,百分比。    从0到100,0表是完全透明,100表示完全不透明。

②、FinishOpacity     这是一个同Opacity一起使用的选择性的参数,当同时Opacity和FinishOpacity时,可以制作出透明渐进的效果,比较酷。    从0到100,0表是完全透明,100表示完全不透明。

③、Style     当同时设定了Opacity和finishOpacity产生透明渐进时,它主要是用赤指定渐进的显示形状。    0:没有渐进;1:直线渐进;2:圆形渐进;3:矩形辐射。

④、StartX     渐进开始的 X 坐标值   

⑤、StartY     渐进开始的 Y 坐标值   

⑥、FinishX     渐进结束的 X 坐标值   

⑦、FinishY     渐进结束的 Y 坐标值   

下面通过一个例子来测试filter和opacity的兼容性:

Html代码

        JS Bin        

测试透明度

注意:测试不要忘了写DOCTYPE,否则会偏离真实效果。

对应CSS代码:

.transparent_class {      /* Required for IE 5, 6, 7 */      /* ...or something to trigger hasLayout, like zoom: 1; */      width:300px;      height:300px;      line-height:300px;      text-align:center;      background:#000;      color:#fff;      /* older safari/Chrome browsers */      -webkit-opacity: 0.5;      /* Netscape and Older than Firefox 0.9 */      -moz-opacity: 0.5;      /* Safari 1.x (pre WebKit!) 老式khtml内核的Safari浏览器*/      -khtml-opacity: 0.5;      /* IE9 + etc...modern browsers */      opacity: .5;      /* IE 4-9 */      filter:alpha(opacity=50);      /*This works in IE 8 & 9 too*/      -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";      /*IE4-IE9*/      filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=50);  }

使用中,我们可以根据要适配的浏览器/版本,从上面选择自己需要的代码行。如果要全面支持所有浏览器,至少需要有关opacity或filter的前5句。需要声明的是,如果你要同时使用filter和-ms-filter,请将-ms-filter写在filter的前面。原文描述如下:

If you want opacity to also work in IE8′s emulating IE7 mode, the order should be:

-ms-filter:”progid:DXImageTransform.Microsoft.Alpha(Opacity=50)”; // first  filter: alpha(opacity=50); // second

If you don’t use this order, IE8 emulating IE7 doesn’t apply the opacity, although IE8 and IE7 native do.

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

css中关于定位属性position为fixed的使用介绍

CSS 使用Sprites技术实现圆角的效果

CSS3中的Transition过度与Animation动画属性的使用介绍

以上就是CSS透明opacity和IE各版本透明度滤镜filter的用法的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1610721.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月24日 01:38:09
下一篇 2025年12月24日 01:38:16

相关推荐

  • css中关于定位属性position为fixed的使用介绍

    这篇文章主要介绍了关于css中关于定位属性position为fixed的使用介绍,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 当一个div想要定位时,我们第一反应是position属性,而position属性除了默认值外,还有absolute,relative和fixed,下面有个…

    好文分享 2025年12月24日
    000
  • css浏览器不兼容原因的分析

    这篇文章主要介绍了关于css浏览器不兼容原因的分析,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 浏览器的不兼容,大家肯定都是深恶痛绝的,往往我们只是去做修补,却忘了更重要的事情,那就是追溯根源,避免类似的不兼容再次出现。 在下不才,归纳几点html编码要素,望能指点各位:1.文字本…

    好文分享 2025年12月24日
    000
  • 关于CSS中权值、层叠和重要性(!important)的分析

    下面为大家带来一篇浅谈css 权值 层叠 重要性(!important)。内容挺不错的,现在就分享给大家,也给大家做个参考。 1、特殊性 权值 有的时候我们为同一个元素设置了不同的CSS样式代码,那么元素会启用哪一个CSS样式呢?我们来看一下面的代码: p{color:red;} .first{co…

    好文分享 2025年12月24日
    000
  • 关于CSS中视窗单位和百分比单位的使用

    这篇文章主要介绍了详解css中视窗单位和百分比单位的使用,是css入门学习中的基础知识,需要的朋友可以参考下 视窗(Viewport)单位 视窗(Viewport)单位是相对单位,意味着它们没有客观的尺寸。它们的大小是由视窗(Viewport)大小决定的。下面是四个与视窗(Viewport)有关的单…

    2025年12月24日 好文分享
    000
  • 通过优先级对比验证CSS控制样式的三种方式

    这篇文章主要介绍了关于通过优先级对比验证css控制样式的三种方式,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 大家都知道,CSS的中文名叫做层叠样式表,而CSS在控制样式的时候,有三种引入方式,这里简单介绍下CSS控制样式的三种方式 好了,直入主题,大家都知道,CSS的中文名叫做层…

    2025年12月24日 好文分享
    000
  • 关于CSS实现禁止鼠标点击事件的代码

    这篇文章介绍的是通过纯css实现禁止鼠标点击事件,比起javascript来更加灵活,有需要的可以参考学习。 JavaScript有一个preventDefault方法, 他可用以来取消事件的默认动作。比如取消打开链接,选择文本或拖放等。 event.preventDefault() 该方法将通知 …

    好文分享 2025年12月24日
    000
  • CSS中如何使用负margin值来调整居中位置

    这篇文章主要介绍了css中使用负margin值来调整居中位置的方法,文中同时提到了这种常用方法的一些值得注意的地方,需要的朋友可以参考下 这或许是最常用的居中方法。如果知道了各个元素的大小,设置等于宽高一半大小的负margin值(如果没有使用box-sizing: border-box样式,还需要加…

    2025年12月24日
    000
  • CSS使用盒模型实例

    下面为大家带来一篇css使用盒模型实例分析。内容挺不错的,现在就分享给大家,也给大家做个参考。 盒子是CSS中的基础概念,我们需要使用它来配置元素的外观以及文档的整体布局。 1. 为元素应用内边距 应用内边距会在元素内容和边距之间添加空白。我们可以为内容盒的每个边界单独设置内边距,或者使用 padd…

    2025年12月24日 好文分享
    000
  • 关于CSS制作的三角形和圆形小按钮的代码

    这篇文章主要介绍了一波css制作的三角形和圆形小按钮示例,都采用了灰色的常见按钮样式设计,需要的朋友可以参考下 参考了天猫、微博等网站的做法,用纯html和css实现,效果还是不错的。以下是成果,兼容主流浏览器,包括ie6。 *{margin:0; padding:0; list-style:non…

    2025年12月24日
    000
  • 关于CSS 平级和儿子级样式的写法

    这篇文章主要与大家分享了css 平级和儿子级样式的写法,比较适合初学者,正在学习css 的朋友可以参考下 input:checked+ol:这个是讲当inoput 拥有了checked后它平级的OL拥有的样式。 input:checked+ol>li:中的大于是指当inoput 拥有了chec…

    好文分享 2025年12月24日
    000
  • CSS制作图形变形弹出的效果

    这篇文章主要介绍了一个css制作图形变形弹出效果的示例分享,弹出窗的大小可以使用jquery来修改,需要的朋友可以参考下 弹出窗体是网页常用的一个交互设计,在这个注重交互动画体验的时代,网页弹窗也可以来点新鲜的点子,比如今天分享的CSS 变形Modal Window。 当用户点击按钮时,按钮将会变成…

    2025年12月24日
    000
  • 对于CSS浮动float和定位position的解析

    本文针对css浮动float、定位position进行学习理解,通过实例帮助大家掌握css浮动float、定位position技巧,感兴趣的小伙伴们可以参考一下 一 . 浮动float I . 定义及规则 float默认为none,对应标准流的情况。当float : left;时,元素就会向其父元素…

    2025年12月24日 好文分享
    000
  • 使用CSS3来实现滚动视差效果

    这篇文章主要介绍了使用css3来实现滚动视差效果的教程,主要使用到了background-attachment属性,需要的朋友可以参考下 “视差(parallax)”效果现在在互联网上越来越流行了。如果你还没听说过什么是视差效果,它其实就是利用图片形成不同的层,分别以不同的速度,不同的方向移动产生的…

    好文分享 2025年12月24日
    000
  • CSS的table-layout属性的用法

    今天给大家详细说一下table-layout属性的用法, tablelayout属性用来显示表格单元格、行、列的算法规则。本文通过实例代码给大家介绍了css的table-layout属性的用法,需要的朋友参考下吧 前言: 今天来和大家详细说一下table-layout属性的用法。   /*eg:设置…

    2025年12月24日
    000
  • CSS实现有立体感的横向按钮式菜单效果

    这篇文章主要为大家介绍了css实现有立体感的横向按钮式菜单效果代码,可实现鼠标滑过呈现按钮按下的效果,具有极强的3d立体效果,涉及css基于hover属性的border边框设置技巧,需要的朋友可以参考下 本文实例讲述了CSS实现有立体感的横向按钮式菜单效果代码。分享给大家供大家参考。具体如下: 这是…

    好文分享 2025年12月24日
    000
  • 关于css属性的选择对动画性能的影响

    下面为大家带来一篇深入理解css属性的选择对动画性能的影响。内容挺不错的,现在分享给大家,也给大家做个参考。 现在手机的占比越来越高,各种酷炫页面层出不穷,这些特效都离不开css动画。说到css动画,主流的情况也就无非这两大类:位移和形变。而我们在写一个动画特效的过程中,如何去提升它的性能呢?当然首…

    2025年12月24日 好文分享
    000
  • CSS实现radio和checkbox的 实现效果

    这篇文章主要介绍了纯css实现radio和checkbox实现效果示例的相关资料,内容挺不错的,现在分享给大家,也给大家做个参考。 radio-and-checkbox 纯CSS实现radio和checkbox实现效果 reset-radio 在开发PC端的项目时,经常会用到radio和checkb…

    好文分享 2025年12月24日
    000
  • 关于CSS实现漂亮的下拉导航效果

    这篇文章主要为大家介绍了纯CSS实现漂亮的下拉导航效果代码,通过简单的css样式设置及针对鼠标事件的响应实现下拉菜单导航效果,非常具有实用价值,需要的朋友可以参考下 本文实例讲述了纯CSS实现漂亮的下拉导航效果代码。分享给大家供大家参考。具体如下: 这是一款纯CSS完成的下拉导航代码,蓝色经典色调,…

    2025年12月24日
    000
  • CSS实现自适应宽度的菜单按钮效果

    这篇文章主要为大家介绍了css实现自适应宽度的菜单按钮效果代码,实例分析了css针对页面自适应宽度的相关设置技巧,具有一定参考借鉴价值,需要的朋友可以参考下 本文实例讲述了CSS实现自适应宽度的菜单按钮效果代码。分享给大家供大家参考。具体如下: 这是一款基于CSS打造的自适应宽度的按钮效果代码,本效…

    2025年12月24日
    000
  • 关于CSS Selector的学习

    这篇文章主要介绍了css 学习笔记之css selector的相关资料,需要的朋友可以参考下 CSS1 中定义的选择器 类型选择器 用于选择指定类型的元素(其实他就是 html 标签选择器),常见用法如下: body { /*对 body 元素定义样式*/}body,p { /*同时选择多种标签元素…

    2025年12月24日
    000

发表回复

登录后才能评论
关注微信