如何用CSS3做过渡效果(transition)与动画(animation)麻烦告诉我

html-css038

如何用CSS3做过渡效果(transition)与动画(animation)麻烦告诉我,第1张

div.trans { width:100pxheight:100pxbackground:graytransition:width 2s-moz-transition:width 2s/* Firefox 4 */ -webkit-transition:width 2s/* Safari and Chrome */ -o-transition:width 2s/* Opera */ } div.trans:hover { width:300px} div.ani { width:100pxheight:100pxbackground:redposition:relativeanimation: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} }刚开始W3C CSS Workgroup拒绝将CSS3 transition与animation加入官方标准,一些成员认为过渡效果和动画并非样式属性,而且已经可以用脚本实现。语法:transition: property duration timing-function delay说明:ValueDescriptiontransition-property指定要改变CSS属性的名称transition-duration指定过渡效果要花多少时间(s/ms)transition-timing-function指定过渡效果的速度transition-delay定义过渡效果的延迟时间.实例:<style type="text/css">div { width:100pxheight:100pxbackground:redtransition:width 2s-moz-transition:width 2s/* Firefox 4 */ -webkit-transition:width 2s/* Safari and Chrome */ -o-transition:width 2s/* Opera */ } div:hover { width:300px} </style><div></div>2. AnimationCSS动画(Animations)简单说就是在一段固定的动画时间内暗中在某一频率内改变其CSS某个或某些值,从而达到视觉上的转换动画效果。下面看下一个简单的实例:<style type="text/css">div { width:100pxheight:100pxbackground:redposition:relativeanimation: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></div>语法:animation: name duration timing-function delay iteration-count direction说明:ValueDescriptionanimation-name指定动画帧的名称animation-duration指定动画运行的时间:秒(s)和毫秒(ms)animation-timing-function指定动画运行的速度animation-delay指定动画的延迟时间animation-iteration-count指定动画的重复数animation-direction指定动画是否以相反的方向运行动画

如果用动画animation 关键代码就是animation-deriction:reverse

如果过渡 用负方向平移并增加宽度试试

建议动画

不知道行不行

| 值 | 描述 |

| animation-name | 规定需要绑定到选择器的 keyframe 名称。。 |

| animation-duration | 规定完成动画所花费的时间,以秒或毫秒计。 |

| animation-timing-function | 规定动画的速度曲线。 |

| animation-delay | 规定在动画开始之前的延迟。 |

| animation-iteration-count | 规定动画应该播放的次数。 |

| animation-direction | 规定是否应该轮流反向播放动画。 |

animation-fill-mode : none | forwards | backwards | both

/*none:不改变默认行为。

forwards :当动画完成后,保持最后一个属性值(在最后一个关键帧中定义)。

backwards:在 animation-delay 所指定的一段时间内,在动画显示之前,应用开始属性值(在第一个关键帧中定义)。

both:向前和向后填充模式都被应用。 */

transform 属性向元素应用 2D 或 3D 转换。该属性允许我们对元素进行旋转、缩放、移动或倾斜。

transform-origin: bottom right/* 设置旋转点,默认是中心点 */

参考