使用CSS去做一般是为了让不懂JS的设计人员也能实现动画效果,
但是这类效果一般使用JS脚本可以更灵活,也更好优化。
本站侧边栏的JV直达和JV外汇交易分类导航也采用了过渡,实现hover时导航逐渐淡化的效果。
下面是两种效果的说明及演示:
1.Transition
Transition是一种直观上的效果,让DOM元素的某个属性在固定时间内从一旧值到一新值。目前Firefox、Opera、Safari和Chrome都支持transition ,IE还不支持。
语法:transition: property duration timing-function delay;
说明:
transition-property 指定要改变CSS属性的名称
transition-duration 指定过渡效果要花多少时间(s/ms)
transition-timing-function 指定过渡效果的速度
transition-delay 定义过渡效果的延迟时间.
代码如下:
<style type="text/css"> #jvbox { width:100px; height:100px; background:gray; transition:width 2s; -moz-transition:width 2s; /* Firefox 4 */ -webkit-transition:width 2s; /* Safari and Chrome */ -o-transition:width 2s; /* Opera */ } #jvbox:hover { width:300px; } </style> <div id="jvbox"></div>
效果如下(鼠标移上去试试):
2. Animation
CSS动画(Animations)简单说就是在一段固定的动画时间内暗中在某一频率内改变其CSS某个或某些值,从而达到视觉上的转换动画效果。Animations的很多方面都是可以控制的,包括动画运行时间,开始值和结束值,还有动画的暂停和延迟其开始时间等。
目前支持Animation的浏览器有:Firefox、 Safari 和 Chrome,IE和Opera还不支持。下面看下一个简单的实例:
语法:animation: name duration timing-function delay iteration-count direction;
说明:
animation-name 指定动画帧的名称
animation-duration 指定动画运行的时间:秒(s)和毫秒(ms)
animation-timing-function 指定动画运行的速度
animation-delay 指定动画的延迟时间
animation-iteration-count 指定动画的重复数
animation-direction 指定动画是否以相反的方向运行动画
代码如下:
<style type="text/css"> #jvbox1 { width:100px; height:100px; background:gray; position:relative; animation:mymove 5s infinite; -moz-animation:mymove 5s infinite; /*Firefox*/ -webkit-animation:mymove 5s infinite; /*Safari and Chrome*/ } @keyframes mymove { from {left:0px;} to {left:200px;} } @-moz-keyframes mymove /*Firefox*/ { from {left:0px;} to {left:200px;} } @-webkit-keyframes mymove /*Safari and Chrome*/ { from {left:0px;} to {left:200px;} } </style> <div id="jvbox1″></div>
效果如下:
本站文章除注明转载/出处外,均为本站原创或翻译。若要转载但请务必注明出处,尊重他人劳动成果。
转载请注明出处链接 : https://www.inlojv.com/1040.html