现在前端的很多网站都有动态效果,banner图上的内容也是弹入淡出,不会js的小伙伴就学学Animation ,transform,keyframess属性吧 非常实用。学了几天总结出来的内容就是一下几点。
1. Animation 动画属性
Animation-name:规定需要绑定选择去@keyframe名称
Tweenedanimation的分类
Alpha:谈入弹出效果
Scale:缩放效果
Rotate:旋转效果
Translate:移动效果
1.1. 实例
<!DOCTYPE html> <html> <head> <style> div { width:100px; height:100px; background:red; position:relative; animation:mymove 5s infinite; -webkit-animation:mymove 5s infinite; /*Safari and Chrome*/ } @keyframes mymove { from {left:0px;} to {left:200px;} } @-webkit-keyframes mymove /*Safari and Chrome*/ { from {left:0px;} to {left:200px;} } </style> </head> <body> <p><strong>注释:</strong>Internet Explorer 9 以及更早的版本不支持 animation 属性。</p> <div></div> </body> </html> |
|
@keyframe name(name=animation:name){ From{} To{} }
|
2. Transform属性
Transform属性向元素应用2D或3D转换。该属性允许我们元素进行旋转,缩放,移动或是倾斜。
2.1. 语法:
Transform:rotate (10deg); //deg度
Transform的属性包括:rotate()/skew()/scale()/translate(),f分别还有X,Y,之分,比如:rotate()和rotateY(),以此类推。
transform:rotate():
含义:旋转;其中“deg”是“度”的意思,如“10deg”表示“10度”下同。
.demo_transform1{ -webkit-transform:rotate(10deg);-moz-transform:rotate(10deg)} |
transform:skew():
含义:倾斜;
.demo_transform2{-webkit-transform:skew(20deg);-moz-transform:skew(20deg)} |
transform:scale():
含义:比例;“1.5”表示以1.5的比例放大,如果要放大2倍,须写成“2.0”,缩小则为负“-”
.demo_transform3{-webkit-transform:scale(1.5);-moz-transform:scale(1.5)} |
transform:translate():
含义:变动,位移;如下表示向右位移120像素,如果向上位移,把后面的“0”改个值就行,向左向下位移则为负“-”。
.demo_transform4{-webkit-transform:translate(120px,0);-moz-transform:translate(120px,0)} |
3. keyframes 属性
3.1. 语法
@keyframes animationName{ keyframes-selector{css-styles}} |
animationName:必须。 定义动画的名称
keyframes-selector:必须。动画时长度的百分比。
合法值:
.0-100%
.from(与0%相同)to(与100%相同)
Css-styles:必须。一个或是多个合法的css样式。
3.2. 实例
Css
.b_seation{ width: 1000px; height:auto; position:relative; top: 300px; left:0px; background: #FF0000; } .b_seation h2{ font-size: 100%; color: #FFFFFF; line-height: 40px;text-align: left; display: block; padding: 10px 30px;} .b_seation p{ width: 100%; height: auto; line-height: 30px; font-size: 16px; color: #FFFFFF; text-align: left; display: block; margin: 10px 0px; padding: 40px 30px; } |
@keyframes
#b_s_1{ animation: animationH 10s; -moz-animation: animationH 10s ; -webkit-animation: animationH 10s; } #b_s_2{ animation: animationG 10s; -moz-animation: animationG 10s ; -webkit-animation: animationG 10s; } @keyframes animationH{ 0%{ opacity: 0; transform: translate(200px,0); -moz-transform: translate(200px,0); -webkit-transform: translate(200px,0); } 50%{ opacity: 0.5;} 100%{ opacity: 1; transform: translate(0,0); -moz-transform: translate(0,0); -webkit-transform: translate(0,0); } } @keyframes animationG{ 0%{ opacity: 0; transform: translate(-200px,0); -moz-transform: translate(-200px,0); -webkit-transform: translate(-200px,0); } 50%{ opacity: 0.5;} 100%{ opacity: 1; transform: translate(0,0); -moz-transform: translate(0,0); -webkit-transform: translate(0,0); } } |
Html
<div class="b_seation"> <h2 id="b_s_1">transform的介绍</h2> <p id="b_s_2"> transform的属性向 元素应用2D或是3D旋转。该属性允许我 们元素进 行旋转,缩放,移动或是倾斜。rotate(<angle>) :通过指定的角度参数对原元素指定一个 2D rotation (2D 旋转),需先有transform-origin属性的定义。transform-origin定义的是旋转的基点,其中angle是指旋转角度,如果设 置的值为正数表示顺时针旋转,如果设置的值为负数,则表示逆时针旋转。如:transform:rotate(30deg): </p> </div>
|
参照学习网站:http://caibaojian.com/transform.html
http://www.runoob.com/cssref/css3-pr-animation-keyframes.html
http://www.daqianduan.com/2959.html