css3技术

div+css中使用透明的技巧_div+css教程

字号+ 作者:H5之家 来源:H5之家 2015-09-15 14:18 我要评论( )

div+css中使用透明的技巧,学习div+css中使用透明的技巧,div+css中使用透明的技巧,查看div+css中使用透明的技巧,这篇汇总主要是提供一些CSS不透明的详细介绍,代

        

           这篇汇总主要是提供一些CSS不透明的详细介绍,代码示例和解释,主要是提供一些CSS不透明的详细介绍,代码示例和解释,以实现这项有用的CSS技术在项目中兼容所有浏览器。更多的技巧欢迎参考52CSS.com上面的技术文档。
  关于CSS 透明度,有一点需要注意的是,它虽然使用了很多年,但它一直以来都不是一个标准属性。它是一种非标准技术,应该是CSS3规范的一部分。 

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

div css xhtml xml Example Source Code

Example Source Code []

#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语法: 

 Example Source Code []

#myElement { opacity: .7; }  


  上述语法将设置一个元素为70%不透明(或30%透明)。设置opacity:1将使元素不透明,而设置opacity:0将使得元素完全不可见。你 只要记住“opacity”等同于“不透明”就很容易记住了,opacity值越小就越接近透明。 
  opacity属性可以精确地小数点后两位,所以值取“.01”和“.02”实际上是不同的,虽然可见度很难被发觉。一般情况下,精确到一位就可以了,取值如“.3”或“.7”。 

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

 Example Source Code []

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

 
  上面的CSS使用专用的filter属性来设置IE6-8透明度。对于IE6和IE7需要注意:为了使得透明设置生效,元素必须是“有布局”。一个元素可以通过使用一些CSS属性来使其被布局,有如width 和 position。关于微软专有的hasLayout属性详情,以及如何触发它,欢迎参考52CSS.com相关文档。
  另外一个设置IE8的CSS透明度的方法语法如下(注意注释中指出的版本): 

 Example Source Code []

#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”的方法。 

  四、使用JavaScript设置和改变CSS透明度 
  您可以使用下面的语法访问JavaScript中的CSS opacity 属性: 

 Example Source Code []

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


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

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

 Example Source Code []

$("#myElement").css({ opacity: .4 }); // 所有浏览器有效 
  您也可以使用一下jQuery代码使一个元素动画透明: 
$("#myElement").animate({      opacity: .4      }, 1000, function() {     
// 动画完成,所有浏览器下有效  });  


  不管元素的透明度在动画开始时是多少,它都会渐变到透明度为“.4”。动画的速度通过值“1000”设定,动画时间以毫秒为单位。代码中的最后一个属性是一个可选回调函数,将在动画完成后执行。 
  如果该元素的透明度在CSS中已经设定为“.4”,那在动画运行的时候,你将不会发觉有任何不同,所以动画开始和最终透明度要有所不同。 

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

 Example Source Code []

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

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
网友点评