CSS3 自定義動畫(animation)
除了在之前的文章中介紹過的 CSS3 的變形 (transformation) 和轉換 (transition) 外,CSS3 還有一種自由度更大的自定義動畫,開發者甚至可以使用變形(transformation)和轉換(transition)製作自定義動畫,利用純 CSS 製作出像 Flash 一樣的效果。在實際使用中不難發現,變形和轉換更適合做元素的互動,而自定義動畫除了做互動外還能使到網頁具有活力,有了自定義動畫,利用 CSS 代替 Flash 才會更加現實。
首先看看 animation 的效果 —— Demo 。
一. animation 基礎
animation 的引數與 transition 比較相似,如果之前瞭解過 transition 的童鞋應該會對 animation 的引數感覺很熟悉。具體的引數如下:
animation-name
動畫名稱,預設為 none
animation-duration
動畫的持續時間,預設為 0
animation-timing-function
動畫的過渡型別,引數可選值類似於 transition-timing-function ,預設為 ease ,具體如下:
- linear:線性過渡。相當於貝塞爾曲線(0.0, 0.0, 1.0, 1.0)
- ease:平滑過渡。相當於貝塞爾曲線(0.25, 0.1, 0.25, 1.0)
- ease-in:由慢到快。相當於貝塞爾曲線(0.42, 0, 1.0, 1.0)
- ease-out:由快到慢。相當於貝塞爾曲線(0, 0, 0.58, 1.0)
- ease-in-out:由慢到快再到慢。相當於貝塞爾曲線(0.42, 0, 0.58, 1.0)
- cubic-bezier(number, number, number, number):特定的貝塞爾曲線型別,number 在 [0, 1] 區間內取值
animation-delay
動畫延遲的時間
animation-iteration-count
動畫的迴圈次數,其值可以是一個正整數,表示迴圈次數,也可以設定為 infinite ,即無限迴圈,預設為 1
animation-direction
動畫在迴圈中是否反向運動,normal 為正向方向,alternate 為向常與反向交替運動,具體為第偶數次正向運動,第奇數次向反方向運動,預設為 normal
animation-play-state
表示動畫的狀態,預設值為 running ,表示正在運動,paused 為暫停。但 w3c 正在考慮是否將該屬性移除,並通過重設樣式或其他方式表示動畫的狀態,因此不建議使用該屬性。
以上這些引數都可以同時賦予多個值,只要注意各引數順序對應即可,例如要為 #demo 指定兩個動畫,可以這樣編寫(大多數瀏覽器仍需通過私有屬性才能支援 animation ,為了方便閱讀,這裡省略瀏覽器私有屬性,按 W3C 標準寫法編寫。)
123456 | #demo { /* 指定動畫名稱 */ animation-name: animation 1 , animation 2 ; /* 指定動畫時長 */ animation-duration: 2 s 1 s; } |
這樣 #demo 就會同時獲得兩個動畫,但是,動畫的具體過程還沒有指定,實際上動畫的具體內容並不在 animation 內指定,而是利用另一個屬性 @keyframes 指定,@keyframes 指定了一個動畫的名稱和實際內容,而 animation 則負責為元素指定引用的動畫,並對動畫的時間、過渡型別等作出設定。這樣把動畫的引用和動畫的實際內容分開設定,可以提高動畫的獨立性和利用率。
@keyframes 支援兩種設定方式,分別用於簡單動畫和複雜的動畫
例如,為 #demo 設定一個簡單的線性動畫,使到其 opacity 值由 0 線性過渡到 1,可以直接使用 from 和 to 指定初始和結束狀態,
12345678910 | #demo { animation-name: animation 1 ; animation-duration: 2 s; animation-timing-function: linear; } @keyframes animation 1 { from{opacity: 0 ; } to{opacity: 1 ; } } |
若對於複雜的動畫,則需要使用 percentage ,percentage 即百分比,animation 支援使用“%”指定到某一個百分比時動畫所執行到的效果,例如指定元素向右平移再向下平移,可以這樣編寫:
1234567891011121314 | #demo { animation-name: animation 1 ; animation-duration: 2 s; animation-timing-function: linear; } @keyframes animation 1 { 0% {transform: translate( 0 ); } 20% {transform: translate( 120px ); } 40% {transform: translate( 240px ); } 60% {transform: translate( 240px , 40px ); } 80% {transform: translate( 240px , 80px ); } 100% {transform: translate( 240px , 120px ); } } |
也可以配合 from 和 to 使用:
1234567891011121314 | #demo { animation-name: animation 1 ; animation-duration: 2 s; animation-timing-function: linear; } @keyframes animation 1 { from {transform: translate( 0 ); } 20% {transform: translate( 120px ); } 相關推薦CSS3 自定義動畫(animation)除了在之前的文章中介紹過的 CSS3 的變形 (transformation) 和轉換 (transition) 外,CSS3 還有一種自由度更大的自定義動畫,開發者甚至可以使用變形(transformation)和轉換(transition)製作自定義動畫,利用純 CSS Ultra-Pull-To-Refresh超簡單實現自定義動畫(二)前言 接上一篇部落格,Ultra-Pull-To-Refresh超簡單終極實現下拉重新整理、上拉載入 入門實現(一) 上一篇是實現了簡單的自帶的重新整理和載入功能。但是這樣簡單的動畫往往不能滿足我們的需求,所以這一片用一個京東重新整理的例子來實現自定義,就 css3動畫(animation)效果3-正方體合成per rip relative java tom gpo 介紹 ack rotate <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> css3動畫(animation)效果1-漂浮的白雲body ini abs mage and run ram info alternate <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> 自定義屬性(2)aps 按鈕 charset script 定義 type i++ element color 定義三個按鈕 點擊按鈕,出現A、B、C、D字母,點擊一下,出現一個 當按鈕字母為 D 的時候,繼續點擊又會重新回到 A 1 <!DOCTYPE HTML> 自定義廣播(BroadcastReceiver)事件 --Android開發ppc andro xtend 類型 class get receive cli time 本例演示自定義廣播事件。我們需要做的是,在主活動中寫發送廣播的代碼,然後在接收廣播的類中寫接收廣播的代碼。 1、主活動中點擊按鈕後發送廣播 MainActivity.java 微信小程序:動畫(Animation)完成 ack http idt 作用 gin this 變慢 .html 簡單總結一下微信動畫的實現及執行步驟。 一、實現方式 官方文檔是這樣說的:①創建一個動畫實例 animation。②調用實例的方法來描述動畫。③最後 Django自定義url(path)轉換器需求1: 實現一個獲取電影列表的demo,使用者可以根據/movie/電影分類/的方式來獲取電影。其中電影分類採用的是分類1+分類2+分類3...的方式拼接的,並且如果只有一個分類,那就不需要加號。示例如下: # 1. 第一種:獲取action分類下的電影 /movie/action 自定義 Laravel (monolog)日誌位置,並增加請求ID修改 bootstrap/app.php 檔案 $app->configureMonologUsing(function($monolog) use ($app) { $monolog->pushHandler( (new Monolog\Hand Spring自定義Listener(監聽器)的使用文章轉自:https://blog.csdn.net/L253272670/article/details/77715899 在java web專案中我們通常會有這樣的需求:當專案啟動時執行一些初始化操作,例如從資料庫載入全域性 CSS3載入等待動畫(loading)效果: CSS樣式表程式碼: #errmsg { color: #ff0000; text-align: center; margin: 0px auto; line-height: 30px; } #colorfulPulse { width 左滑刪除 --- 自定義元件(優化)想來想去 還是先引入元件吧 http://bmob-cdn-20610.b0.upaiyun.com/2018/11/20/736355a740c835f9806ee0d021ff6696.rar 複製以上鍊接 直接下載 之後壓縮 放進你的專案 解析網頁自定義字型(二)解析網頁自定義字型(二) 介紹 背景知識 TrueType字型 fontTools 字型檔案解析庫 xml.dom.minidom xml程式碼解析庫 matplotlib 繪圖工具包 pytesseract oc 自定義View(1)點操作:moveTo和lineTo和rLinneTo的理解 1、lineTo 用於進行直線繪製。起點預設為座標原點(左上),如果有path的存在,則是繪製的最後點為基準,座標點對應的(0,0)到lineTo(x,y)的偏移量 比如 /** * 線操作 * lineTo的偏移量相對於原 微信開發學習總結(四)——自定義選單(5)——個性化選單介面一、個性化選單介面說明 為了幫助公眾號實現靈活的業務運營,微信公眾平臺新增了個性化選單介面,開發者可以通過該介面,讓公眾號的不同使用者群體看到不一樣的自定義選單。該介面開放給已認證訂閱號和已認證服務號。 開發者可以通過以下條件來設定使用者看到的選單: 1、使用者標籤(開發者的 微信開發學習總結(四)——自定義選單(4)——自定義選單事件推送一、自定義選單事件推送介面說明 使用者點選自定義選單後,微信會把點選事件推送給開發者,請注意,點選選單彈出子選單,不會產生上報。請注意,第3個到第8個的所有事件,僅支援微信iPhone5.4.1以上版本,和Android5.4以上版本的微信使用者,舊版本微信使用者點選後將沒有迴應,開 微信開發學習總結(四)——自定義選單(3)——自定義選單刪除介面自定義選單刪除介面 使用介面建立自定義選單後,開發者還可使用介面刪除當前使用的自定義選單。另請注意,在個性化選單時,呼叫此介面會刪除預設選單及全部個性化選單。 請求說明 http請求方式:GET https://api.weixin.qq.com/cgi-bin/menu/d 微信開發學習總結(四)——自定義選單(2)——自定義選單查詢介面自定義選單查詢介面 使用介面建立自定義選單後,開發者還可使用介面查詢自定義選單的結構。另外請注意,在設定了個性化選單後,使用本自定義選單查詢介面可以獲取預設選單和全部個性化選單資訊。 請求說明 http請求方式:GET https://api.weixin.qq.com/cg 微信開發學習總結(四)——自定義選單(1)——自定義選單建立介面一、自定義選單建立介面說明 自定義選單能夠幫助公眾號豐富介面,讓使用者更好更快地理解公眾號的功能。開啟自定義選單後,公眾號介面如圖所示: 請注意: ①自定義選單最多包括3個一級選單,每個一級選單最多包含5個二級選單。 ②一級選單最多4個漢字,二級選單最多7個漢字,多出來的部分將 Android自定義View(三)-Draw原理篇Android自定義View通常需要經過measure、layout和draw過程。 如果你沒有了解過measure過程,可以先看看這篇文章。 如果你沒有了解過layout過程,可以先看看這篇文章。 一、draw的作用:繪製View檢視 二、draw過程:類似meas |