使用css3動畫須要2步css
animation
屬性及屬性值。各瀏覽器私有屬性在前,通用屬性在最後。@keyframes
定義動畫過程名稱。各瀏覽器私有屬性在前,通用屬性在最後。animation定義動畫的屬性值。
@keyframes規則內指定一個CSS樣式和動畫將逐步從目前的樣式更改成新的樣式。html
div { -webkit-animation: myfirst 5s; /* Safari Chrome opera */ -ms-animation: myfirst 5s; /* ie */ -moz-animation: myfirst 5s; /* ff */ animation: myfirst 5s; } @-webkit-keyframes myfirst /* Safari Chrome opera */ { 0% {background: red;} 25% {background: yellow;} 50% {background: blue;} 100% {background: green;} } @-ms-keyframes myfirst /* ie */ { 0% {background: red;} 25% {background: yellow;} 50% {background: blue;} 100% {background: green;} } @-moz-keyframes myfirst /* ff */ { 0% {background: red;} 25% {background: yellow;} 50% {background: blue;} 100% {background: green;} } @keyframes myfirst { 0% {background: red;} 25% {background: yellow;} 50% {background: blue;} 100% {background: green;} }
功能css3
from
,to
等同於0%,100%屬性web
各瀏覽器私有屬性在前,通用屬性在最後。 chrome
// css
div {瀏覽器
-webkit-transition: width 2s; /* safari chrome */ -moz-transition: width 2s; /* ff */ -o-transition: width 2s; /* opera */ transition: width 2s; width: 200px; height: 200px;
}
.w {css3動畫
width: 300px;
}
// html
<div></div>
// js
$('div').on('click', function () {動畫
$('div').addClass('w')
}).net
功能3d
屬性
transition
與animation
的區別在於前者只作過渡效果,後者着重作動畫效果。若實在分不清就把transition
記爲過渡。過渡是直線型的,不能夠拆線。animation
記爲動畫。動畫是能夠作不少拆線型的。
div { -ms-transform: rotate(30deg); /* ie */ -webkit-s-transform: rotate(30deg); /* safari chrome opera */ -moz-s-transform: rotate(30deg); /* ff */ transform: rotate(30deg); }
功能
屬性
|transform-origin|變形時的原點位置|center center|x-axis y-axis z-axis; // top left right bottom x% xpx|
|transform-box|定義排版盒子|border-box|fill-box, view-box, inherit, initial, unset|
|transform-type|嵌套元素是怎樣在三維空間中呈現的|flat 二維| preserve-3d 三維|
transform
是變換(若不理解變換就理解爲變形)。translate
是移動。是transform的一種屬性值。沒有動畫。transition
是過渡。有動畫。
2018/02/12 by stone