CSS透明实现方法(1/3)

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

  一、旧的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属性详情,以及如何触发它,欢迎参考52css.com相关文档。
  另外一个设置ie8的css透明度的方法语法如下(注意注释中指出的版本):

 

CSS透明实现方法(1/3)

相关文章:

你感兴趣的文章:

标签云: