近年来,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只影响背景颜色的透明度,仅此而已。

我希望我能涉及主要的跨浏览器的CSS透明度代码。如果内容有错漏,欢迎随时评论指出,我将乐意作更正或补充。谢谢~

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

html css表格透明度,【总结】CSS透明度大汇总_html/css_WEB-ITnose相关推荐

  1. css表格排序,纯CSS实现表格排序-利用CSS 变量和Flexbox

    1.引子 今天闲逛知名前端资讯站Front-End Front,发现一个比较有意思的效果,给大家分享下,希望可以对大家有所启发. 纯CSS实现表格排序 心急的同学,先看效果,我放在codepen上. ...

  2. 分享7款颜色的CSS表格样式美化网页表格用户体验

    原文出处:http://www.laozuo.org/4631.html 老左并不是一名网页设计师,但是经常在博客上捣鼓.修改一些自认为不太好的用户体验也仅仅局限在修改一些简单的CSS样式上,遇到不能 ...

  3. 四款好看实用的CSS表格样式分享

    文章参考: https://www.w3cschool.cn/css/css-sfrk2opy.html https://www.php.cn/css-tutorial-375461.html htt ...

  4. html表格边框线透明度度标签,css如何让边框具有透明度

    css如何让边框具有透明度 css让边框具有透明度,可以使用RGBA来表示边框的颜色. RGBA在RGB的基础上多了控制alpha透明度的参数.R(红).G(绿).B(蓝)三个参数,正整数值的取值范围 ...

  5. html设置表单透明度,css利用transparent属性设置透明度的方法

    css利用transparent属性设置透明度的方法 发布时间:2020-09-14 13:44:46 来源:亿速云 阅读:188 作者:小新 这篇文章主要介绍css利用transparent属性设置 ...

  6. HTML5文本框怎么透明,css怎么设计文本框透明度

    css怎么设计文本框透明度 给input设置的css属性: background 和 color ,都用rgba 比如background: rgba(255,255,255,0.5); color: ...

  7. 前端css基础知识点之opacity——透明度

    前端css基础知识点之opacity--透明度 opacity opacity:num /*num 0到1*/ 兼容性 ie9及以上和标准浏览器都支持 特点 设置opacity的元素的所有后代会一起具 ...

  8. html背景颜色透明度hex,CSS背景颜色设置透明度的两种方法(8位hex和rgba)

    目录 一. 6位HEX转RGBA 二.8位HEX 在写微信小程序的时候,有个需求是按背景颜色 background-color要设透明度0.85,让背景图片 background-image透一点出来 ...

  9. css如何设置透明度?设置透明度的两种方法(代码实例)

    在前端页面开发布局的时候,为了给用户呈现不同的效果,经常需要设置透明度,那么css是怎样设置透明度的?本章给大家介绍用css设置透明度的两种方法(代码实例).有一定的参考价值,有需要的朋友可以参考一下 ...

最新文章

  1. Resource punkt not found.nltk.download()下载失败
  2. python装饰器作用-什么是Python装饰器,有什么作用?
  3. Android AutoFocusCallback is not being called or not returning
  4. 信用评分卡—信贷准入A卡(逻辑回归)
  5. Example-based volume illustrations
  6. 用Linux命令行修图——缩放、编辑、转换格式——一切皆有可能
  7. 混凝土泵送机械大数据挖掘与应用
  8. 禅道批量添加任务时选择对应模块功能
  9. idea中.ignore插件的使用
  10. python接口编程的好处_python接口自动化测试
  11. OC反射机制获得该类全部属性并创建数据表
  12. 文件上传的几个 - 示例
  13. 《Java高并发编程详解:多线程与架构设计》笔记(一)
  14. 软件测试工程师简历经验总结:软件测试工程师简历项目经验怎么写?(转载)
  15. 微信群打卡小程序_签到打卡小程序,哪个更适合你?
  16. git合并工具-DiffMerge
  17. 【菜鸟小屁的成长日记】之ElasticSearch中的TimeStamp时间戳篇
  18. 浅析大数据给我们带来的便利和好处
  19. Spring的Orderd接口以及@Order、@Primary、@Priority三个注解介绍
  20. Linux之禅道安装

热门文章

  1. “0x00446d22”指令引用的“0xcccd40d5”内存。该内存不能为read。
  2. UseModel 简单用法
  3. 鸿蒙渊 灵兽经验,给大家一个灵兽升级经验表!
  4. Android 使用Drawable实现圆角与圆形图案
  5. 阿里语言AI技术全球第二;微软云计算副总裁宣布离职;腾讯与中国银行签署协议 | 每日大事件...
  6. 2020年就要过去了,我一点也不怀念它
  7. 计算器带菜单java_java GUI 模仿计算器界面的代码有点小问题。(如图,如何让下拉菜单下面的两行压扁一点?)...
  8. tcpdump与wireshark
  9. 基于Vue+node的图书馆座位预约选座管理系统
  10. LeetCode 665 Java实现