利用CSS3的transition属性实现滑动效果

(编辑:jimmy 日期: 2024/10/31 浏览:2)

首先援引一下w3school上的transition基本知识:

定义和用法
transition 属性是一个简写属性,用于设置四个过渡属性:
transition-property
transition-duration
transition-timing-function
transition-delay
注释:请始终设置 transition-duration 属性,否则时长为 0,就不会产生过渡效果。

利用CSS3的transition属性实现滑动效果
语法

CSS Code复制内容到剪贴板
  1. transition: property duration timing-function delay;  


实现滑动效果
只需要一个DIV元素便可实现滑动效果,避免了使用JavaScript为元素的动画(IE浏览器下仅支持IE9以上)
HTML代码

XML/HTML Code复制内容到剪贴板
  1. <div style="height: 200px; width: 200px; border: 1px solid #ccc;">  
  2.       <div class="slider" id="slider">这里是内容</div>  
  3.   </div>  
  4.   <button onclick="document.getElementById('slider').classList.toggle('closed');">点击看看</button>  

CSS代码

CSS Code复制内容到剪贴板
  1. .slider {   
  2.     overflow-y: hidden;   
  3.     max-height: 500px;   
  4.     /* 最大高度 */  
  5.     background: pink;   
  6.     height: 200px;   
  7.     width: 200px;   
  8.     /*  Webkit内核浏览器:Safari and Chrome*/  
  9.     -webkit-transition-property: all;   
  10.     -webkit-transition-duration: .5s;   
  11.     -webkit-transition-timing-function: cubic-bezier(0, 1, 0.5, 1);   
  12.     /*  Mozilla内核浏览器:firefox3.5+*/  
  13.     -moz-transition-property: all;   
  14.     -moz-transition-duration: .5s;   
  15.     -moz-transition-timing-function: cubic-bezier(0, 1, 0.5, 1);   
  16.     /*  Opera*/  
  17.     -o-transition-property: all;   
  18.     -o-transition-duration: .5s;   
  19.     -o-transition-timing-function: cubic-bezier(0, 1, 0.5, 1);   
  20.     /*  IE9*/  
  21.     -ms-transition-property: all;   
  22.     -ms-transition-duration: .5s;   
  23.     -ms-transition-timing-function: cubic-bezier(0, 1, 0.5, 1);   
  24. }   
  25. .slider.closed {   
  26.     max-height: 0;   
  27. }  

demo演示地址:http://www.zjgsq.com/example?pid=1166

一句话新闻

高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。