温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

transition和animation怎么在CSS3中使用

发布时间:2021-04-01 16:18:01 来源:亿速云 阅读:177 作者:Leah 栏目:web开发

今天就跟大家聊聊有关transition和animation怎么在CSS3中使用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

transition

transition 属性是
transition-property,
transition-duration,
transition-timing-function,
transition-delay
的简称,用于设定一个元素的两个状态,不同的状态可以用伪类,比如:hover, :active 或者是通过 javascript 动态设定。IE10+支持。

所以 transition 的初始值为:

transition-delay: 0s;
transition-duration: 0s;
transition-property: all;
transition-timing-function: ease;

用法

div {
transition: <property> <duration> <timing-function> <delay>;
}

并且有事件可以监测 transition 结束

el.addEventListener("transitionend",updateTransition,true);

//in webkit
el.addEventListener("webkitTransitionEnd",updateTransition,true);

实例

HTML

代码如下:


<!-- DEMO 1: Fade Block -->
<div id="fade">
move here !
</div>
<div id="nudge">
mouse on me
</div>
<div id="bounce">Place mouse on me i will bounce!</div>
<div id="spin">Place mouse on me i won me i won me i won me i won me i won me i won me i won me i won me i won me i won me i won me i won me i won me i won me i will spin</div>
<div id="accordion" class="accordion">
<a href="#first">This is first tab</a>
<div id="first"><p>Lorem ipsum </p> </div>
<a href="#second">This is second tab</a>
<div id="second"><p>Lorem ipsum </p> </div>
<a href="#third">This is third tab</a>
<div id="third"><p>Lorem ipsum </p> </div>
</div>


CSS

代码如下:


/*
DEMO 1: Fade Block
*/
div {
margin-bottom: 50px;
}
#fade {
/*opacity:1;
-webkit-transition: opacity 10s liner 10s;*/
position: relative;
transition-property: font-size;
transition-duration: 0.5s;
transition-delay: 0;
font-size: 14px;
}
#fade:hover {
font-size: 36px;
}

/* DEMO2 */
#nudge{
-webkit-transition-property: color,
background-color,padding-left;
-webkit-transition-duration: 500ms,500ms, 500ms;
}
#nudge:hover{
background-color: #efefef;
color: #333;
padding-left: 50px;
}
#bounce:hover {
-webkit-animation-name:bounce;
-webkit-animation-duration:1s;
-webkit-animation-iteration-count:2;
-webkit-animation-direction:alternate
}
@-webkit-keyframes bounce {
from{margin-left:0;}
to{margin-left:250px;}
}
#spin{
-webkit-transition: -webkit-transform 10s ease-in;
}
#spin:hover{
-webkit-transform: rotate(36000deg);
}
.accordion a{
display: block;
padding:5px 10px;
background-color:#ccc;
color:#000;
/*可以去掉链接的下划线等修饰效果*/
text-decoration:none;
}
.accordion a:hover{
background-color:#999;
}
.accordion div{
background-color:#cda;
color:#222;
}
.accordion div p{
padding:20px
}
#accordion div{
/*先隐藏起来*/
height:0;
overflow:hidden;
-webkit-transition:height 600ms ease;
}
#accordion div:target{
height:110px;
}


animation

animation 属性是如下这些属性的简写 
animation-name: none 
animation-duration: 0s 
animation-timing-function: ease 
animation-delay: 0s 
animation-iteration-count: 1 
animation-direction: normal 
animation-fill-mode: none
用法
 
animation: 
animation-name 
time(duration) 
timing-function 
time(delay) 
animation-iteration-count( 结束之前的循环次数) 
single-animation-direction 
/*{ 
animation-direction: normal (每次从正方向开始) 
animation-direction: reverse (每次从反方向开始) 
animation-direction: alternate (正反往复) 
}*/ 
single-animation-fill-mode



实例

<div class="view_port"> 
<div class="polling_message"> 
Listener for dispatches 
</div> 
<div class="cylon_eye"> 
</div> 
</div> 
.polling_message { 
color: white; 
float: left; 
margin-right:2%; 
} 
.view_port { 
background-color: black; 
height: 50px; 
width: 100%; 
overflow: hidden; 
} 
.cylon_eye { 
color: white; 
height: 100%; 
width: 80%; 
background-color: red; 
background-image: linear-gradient(to right, rgba(0, 0, 0, 0.9) 25%, rgba(0, 0, 0, 0.1) 50%, rgba(0, 0, 0, 0.9) 75%); 
-webkit-animation: move_eye 4s linear 0s infinite alternate; 
-moz-animation: move_eye 4s linear 0s infinite alternate; 
-o-animation: move_eye 4s linear 0s infinite alternate; 
animation: move_eye 4s linear 0s infinite alternate; 
} 
@-webkit-keyframes move_eye { 
from { 
margin-left:-20%; 
} 
to { 
margin-left:100%; 
} 
} 
@-moz-keyframes move_eye { 
from { 
margin-left:-20%; 
} 
to { 
margin-left:100%; 
} 
} 
@-o-keyframes move_eye { 
from { 
margin-left:-20%; 
} 
to { 
margin-left:100%; 
} 
} 
@keyframes move_eye { 
from { 
margin-left:-20%; 
} 
to { 
margin-left:100%; 
} 
}

看完上述内容,你们对transition和animation怎么在CSS3中使用有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI