溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

transition和animation怎么在CSS3中使用

發(fā)布時(shí)間:2021-04-01 16:18:01 來(lái)源:億速云 閱讀:179 作者:Leah 欄目:web開發(fā)

今天就跟大家聊聊有關(guān)transition和animation怎么在CSS3中使用,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

transition

transition 屬性是
transition-property,
transition-duration,
transition-timing-function,
transition-delay
的簡(jiǎn)稱,用于設(shè)定一個(gè)元素的兩個(gè)狀態(tài),不同的狀態(tài)可以用偽類,比如:hover, :active 或者是通過(guò) javascript 動(dòng)態(tài)設(shè)定。IE10+支持。

所以 transition 的初始值為:

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

用法

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

并且有事件可以監(jiān)測(cè) transition 結(jié)束

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

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

實(shí)例

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{
/*先隱藏起來(lái)*/
height:0;
overflow:hidden;
-webkit-transition:height 600ms ease;
}
#accordion div:target{
height:110px;
}


animation

animation 屬性是如下這些屬性的簡(jiǎn)寫 
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( 結(jié)束之前的循環(huán)次數(shù)) 
single-animation-direction 
/*{ 
animation-direction: normal (每次從正方向開始) 
animation-direction: reverse (每次從反方向開始) 
animation-direction: alternate (正反往復(fù)) 
}*/ 
single-animation-fill-mode



實(shí)例

<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%; 
} 
}

看完上述內(nèi)容,你們對(duì)transition和animation怎么在CSS3中使用有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI