淺談CSS3動畫
前言:特效無疑是炫酷的一個東西,很多網頁中都存在這種特效,這也就是我們今天要看的動畫.
一.動畫
所謂的動畫是使元素從一種樣式逐漸變化為另一種樣式的效果,就是通過CSS程式碼來對我們需要產生特效的元素的樣式進行修改。我們會使用到keyframes
來進行動畫的操作。
二.keyframes
1.定義:
keyframes:關鍵幀;格式為:@keyframes animationname {keyframes-selector {css-styles;}}
(animationname為動畫起的名稱,是必需的),在一個 @keyframes 程式碼塊裡,包含著一系列的CSS規則,統稱為 keyframes。 一個 keyframe 定義了一個完整動畫裡某一時刻的一種動畫樣式
。動畫繪製引擎會連貫平滑的實現各種樣式間的轉換。我們的狀態有:一個是動畫的起始狀態( “from” 程式碼塊) 和終止狀態 ( “to” 程式碼塊)或者可以定義百分比來進行動畫,0%-100%之間的數值(from為0%,to為100%),某一個百分比之間的css樣式就會在某一過程進行執行
。
@keyframes name{ from{} to{} }
或者
@keyframes name{ 0%{} ...% 100%{} }
2.繫結事件(animation):
當然我們定義好動畫後並沒有結束,我們需要給某一個元素進行動畫事件的繫結,否則這個動畫就只是個擺設而已,繫結動畫我們使用:animation
。
animation:顧名思義為動畫的意思,其中的引數有:
引數 | 解釋 |
---|---|
name | 動畫名稱,是必需的 |
duration | 動畫時間,是必需的 |
timing-function | 運動曲線,有linear、ease、ease-in、ease-ou、ease-in-out、steps()(步長) |
delay | 動畫開始的時間 |
iteration-count | 播放次數,有infinite(無限迴圈) |
direction | 是否反向:alternate-reverse(倒著播放) |
fill-mode | 起始與結束狀態 |
play-state | 播放與暫停 |
分開寫法:
animation-name: ;
animation-duration: ;
animation-delay: ;
animation-iteration-count: ;
animation-direction: ;
animation-timing-function: ;
animation-play-state: ;
animation-fill-mode: ;
3.複合寫法:
annimation:name durtaion timing-function delay iteration-count direction fill-mode play-state;
我們需要注意的一點就是:在動畫中name(動畫名稱)和durtaion(時間)是必需的。
三.舉例
我們實現一個div圍繞螢幕一週移動的效果:
程式碼:
<style>
div {
width: 200px;
height: 200px;
background-color: pink;
animation: move 3s linear infinite;
}
@keyframes move {
0% {
background-color: greenyellow;
}
25% {
transform: translate(1000px, 0);
background-color: bisque;
}
50% {
transform: translate(1000px, 500px);
background-color: khaki;
}
75% {
transform: translate(0, 500px);
background-color: skyblue;
}
100% {
transform: translate(0, 0);
background-color: cadetblue;
}
}
</style>
</head>
<body>
<div></div>
</body>
效果圖:
相關文章
- css3 | 淺談transform變換CSSS3ORM
- CSS3動畫之逐幀動畫CSSS3動畫
- CSS3 動畫解析CSSS3動畫
- CSS3 animation 動畫CSSS3動畫
- 「切圖仔日常」淺談載入動畫兩板斧動畫
- CSS3動畫基礎CSSS3動畫
- css3 動畫(一) transitionCSSS3動畫
- css3高階動畫CSSS3動畫
- CSS3 animation逐幀動畫CSSS3動畫
- CSS3動畫按鈕效果CSSS3動畫
- CSS3實現流星動畫CSSS3動畫
- 淺談CSS3 響應式佈局--Media QueriesCSSS3
- css3實現顫動的動畫CSSS3動畫
- css3動畫效果抖動解決CSSS3動畫
- 淺談CSS3中display屬性的Flex佈局CSSS3Flex
- CSS3全覽_動畫+濾鏡CSSS3動畫
- css3動畫完成打字機效果CSSS3動畫
- css3 動畫(三)animation 簡介CSSS3動畫
- CSS3 loadding載入動畫效果CSSS3動畫
- CSS3 loadding旋轉等待動畫CSSS3動畫
- CSS3載入等待動畫效果CSSS3動畫
- css3實現逐幀動畫CSSS3動畫
- CSS3圖片上下動畫浮動效果CSSS3動畫
- 深入淺出 CSS 動畫CSS動畫
- Flutter InkWell 動畫淺析Flutter動畫
- 淺談動態規劃動態規劃
- 淺談CSS3中display屬性的Flex佈局(轉)CSSS3Flex
- css3動畫實現數字動態增加CSSS3動畫
- css3實現動畫閃爍效果CSSS3動畫
- webapp中如何運用CSS3動畫WebAPPCSSS3動畫
- CSS3漂亮的loadding載入動畫CSSS3動畫
- CSS3水滴向下滴落動畫效果CSSS3動畫
- 讓css3動畫變得有趣wowjsCSSS3動畫JS
- 數字營銷(一)客戶畫像淺談
- svg 線條動畫淺嘗SVG動畫
- RecyclerView動畫原始碼淺析View動畫原始碼
- css3實現動畫有幾種方式?CSSS3動畫
- CSS3滑鼠懸浮動畫按鈕效果CSSS3動畫