用CSS怎么实现元素透明的效果,代码是什么
Admin 2022-07-14 群英技术资讯 546 次浏览
一、旧的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引擎)已经不在支持这个属性。
二、在firefox, safari, chrome和opera下的css透明度
以下代码是除了ie外的所有当前浏览器的最简单,最最新的不透明度设置的css语法:
代码如下 | |
#myelement { opacity: .7; } |
上述语法将设置一个元素为70%不透明(或30%透明)。设置opacity:1将使元素不透明,而设置opacity:0将使得元素完全不可见。你 只要记住“opacity”等同于“不透明”就很容易记住了,opacity值越小就越接近透明。
opacity属性可以精确地小数点后两位,所以值取“.01”和“.02”实际上是不同的,虽然可见度很难被发觉。一般情况下,精确到一位就可以了,取值如“.3”或“.7”。
三、ie下的css透明度
ie下照旧有别于其他浏览器,并且目前也有三个不同版本的ie在广泛使用,透明度设置是不同的,有时需要额外的css来控制:
代码如下 | |
#myelement { filter: alpha(opacity=40); } |
上面的css使用专用的filter属性来设置ie6-8透明度。对于ie6和ie7需要注意:为了使得透明设置生效,元素必须是“有布局”。一个元素可以通过使用一些css属性来使其被布局,有如width 和 position。关于微软专有的haslayout属性详情,以及如何触发它,欢迎参考111com.net相关文档。
另外一个设置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”的方法。
四、使用网页特效设置和改变css透明度
您可以使用下面的语法访问javascript中的css opacity 属性:
代码如下 | |
document.getelementbyid("myelement").style.opacity = ".4"; // 针对所有现代浏览器 document.getelementbyid("myelement").style.filter = "alpha(opacity=40)"; |
// 针对ie
五、使用jquery设置和改变css透明度
直接使用jquery设置css透明度更直观更容易实现,因为在所有浏览器代码都一样,并且你不必担心在ie下元素是否“haslayout”:
$("#myelement").css({ opacity: .4 }); // 所有浏览器有效
您也可以使用一下jquery代码使一个元素flash_a/flash.html">动画透明:
$("#myelement").animate({ opacity: .4 }, 1000, function() {
// 动画完成,所有浏览器下有效 });
不管元素的透明度在动画开始时是多少,它都会渐变到透明度为“.4”。动画的速度通过值“1000”设定,动画时间以毫秒为单位。代码中的最后一个属性是一个可选回调函数,将在动画完成后执行。
如果该元素的透明度在css中已经设定为“.4”,那在动画运行的时候,你将不会发觉有任何不同,所以动画开始和最终透明度要有所不同。
六、通过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的数字,精确得到两位小数点。数字值越大,就越接近完全不透明的颜色。
七、通过 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只影响背景颜色的透明度
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
本文介绍的是一个使用伪元素来实现边框逐渐发光的代码,主要用到scale和opacity这两个属性。下面来看看详细的介绍:效果图如下:HTML代码:代码如下复制代码<divclass="light"><imgsrc="http://tva2.sinaimg.cn/crop.0.0.180.180.180/6830a53bjw8f2qo4xzc2zj20500500t0.jpg"/><divclass="light-inner"><p>前端开发博客</p> ...
这篇文章主要介绍了html中把多余文字转化为省略号的实现方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
这篇文章主要给大家分享关于CSS中层叠上下文的内容,本文对层叠上下文的概念、特性及使用都有详细的介绍,感兴趣的朋友可以参考,接下来跟随小编来学习一下吧。
我们在Windows XP的文件夹属性对话框的时候都会发现Attributes分类里的Read-only和Hidden选项有时不是checked状态,那么你知道checked状态是什么吗?我们要如何使用checkbox的indeterminate属性?
目录1.HTML简介1.1.HTML文档基本结构2.标签2.1.标签语法1.2.标签的属性和值1.3.常见的标签1.基础标签2.格式标签3.表单标签4.框架标签5.图形标签6.音频视频标签7.链接标签8.列表标签9.表格标签10.样式/节标签HTML由标签和属性构成的1.1.HTML文档基本结构<
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008