CSS transition animation的使用(內(nèi)含貝賽爾曲線(xiàn)詳解)
文章主要介紹了css transition animation的使用(內(nèi)含貝賽爾曲線(xiàn)詳解),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,區(qū)別:transition也叫過(guò)渡動(dòng)畫(huà)...
文章主要介紹了css transition animation的使用(內(nèi)含貝賽爾曲線(xiàn)詳解),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,
區(qū)別:
transition也叫過(guò)渡動(dòng)畫(huà),主要是用于讓一個(gè)元素從一種狀態(tài)過(guò)渡到另一種狀態(tài)效果,常用于主動(dòng)觸發(fā)的效果。例如移動(dòng)端的頁(yè)面切換(很常用)、button點(diǎn)擊效果(也很常見(jiàn))。
animation才是css3正宗的動(dòng)畫(huà),主要是用于實(shí)現(xiàn)某種持續(xù)的動(dòng)畫(huà)效果(當(dāng)然簡(jiǎn)單的過(guò)渡動(dòng)畫(huà)也可以實(shí)現(xiàn)),常用于自動(dòng)觸發(fā)的效果。例如加載中的持續(xù)動(dòng)畫(huà)效果等等。
在學(xué)習(xí)這兩種動(dòng)畫(huà)之前要最好是先了解一下 transition-timing-function(過(guò)渡效果時(shí)間曲線(xiàn));
舉個(gè)栗子:
比如一輛小汽車(chē)從a點(diǎn)到b點(diǎn)的運(yùn)動(dòng)過(guò)程是一個(gè)動(dòng)畫(huà),那么過(guò)渡效果時(shí)間曲線(xiàn)就是這輛小汽車(chē)到底是勻速過(guò)去呢還是一直加速?zèng)_過(guò)去,又或者說(shuō)一會(huì)加速?zèng)_一會(huì)減速慢行。
這個(gè)屬性有五種可供選擇的屬性值和一種可以自定義的屬性值
自定義屬性值:cubic-bezier(n,n,n,n)
在了解這個(gè)自定義屬性值之前我們?cè)賮?lái)深入了解一下貝塞爾曲線(xiàn)。
為什么要了解貝塞爾曲線(xiàn)?因?yàn)檫@個(gè)自定義時(shí)間過(guò)渡曲線(xiàn)就是用貝塞爾曲線(xiàn)表示的。(這是一個(gè)三階的貝塞爾曲線(xiàn))
貝塞爾曲線(xiàn)應(yīng)用場(chǎng)景有哪些?貝塞爾曲線(xiàn)不僅僅在描述速度、時(shí)間上會(huì)起作用,在ps中的色彩調(diào)節(jié)和一些建筑工程學(xué)上面都會(huì)有涉及。
那我們先來(lái)畫(huà)一個(gè)二階的貝塞爾曲線(xiàn)吧。
首先打開(kāi)ps,在一個(gè)平面內(nèi)隨便畫(huà)三個(gè)點(diǎn)a、b、c然后連接起來(lái),如下圖。

然后在a、b中找到一點(diǎn)d,在b、c中找到一點(diǎn)e,滿(mǎn)足公式:ad/ab = be/bc

然后呢,連接d、e,在de線(xiàn)上找到一點(diǎn)f,滿(mǎn)足公式:df/de = ad/ab = be/bc

然后就沒(méi)有然后了,因?yàn)檫@個(gè)二階貝塞爾曲線(xiàn)已經(jīng)畫(huà)完了,這個(gè)曲線(xiàn)就是所有可能的f點(diǎn)。
然后我用谷歌瀏覽器調(diào)試工具再演示一下二階貝塞爾曲線(xiàn)圖(本來(lái)是想用火狐演示的,但是火狐瀏覽器調(diào)試曲線(xiàn)的時(shí)候?qū)蛹?jí)有點(diǎn)高,還很敏感,無(wú)法用gif工具錄制,所以就放棄了,但實(shí)際上我更喜歡火狐的調(diào)試動(dòng)畫(huà)調(diào)試工具一點(diǎn)。)
1、上面的球代表動(dòng)畫(huà)執(zhí)行的過(guò)程,球越快,顏色越淺,反之越深。
2、兩個(gè)固定點(diǎn)的坐標(biāo)是(0,0)和(1,1)
3、可調(diào)試點(diǎn)的坐標(biāo)是隨意拉動(dòng)的,x軸要在0-1之間,y軸隨意。
4、x軸代表的時(shí)間,y軸代表的是路程(因?yàn)楹芏鄤?dòng)畫(huà)并不是簡(jiǎn)單的左右移動(dòng),所以以后要理解成動(dòng)畫(huà)執(zhí)行的過(guò)程),注意:y軸不是速度,更不是加速度哦。
5、最下面的是cubic-bezier屬性具體取到的值(后面再講里面4個(gè)值得具體含義)

但實(shí)際開(kāi)發(fā)過(guò)程中我們用到的大部分都是三階貝塞爾曲線(xiàn)(當(dāng)然也有用多階貝塞爾曲線(xiàn)的),也就是用兩個(gè)點(diǎn)去控制曲線(xiàn)的弧度,具體原理和上面的類(lèi)似,如圖:

現(xiàn)在就可以解釋cubic-bezier為什么有四個(gè)值,就是這個(gè)兩個(gè)坐標(biāo)點(diǎn)。
再次聲明一下,y軸是距離,不是速度和加速度
cubic-bezier屬性還有五個(gè)可供選擇的值:(其實(shí)就是幾種寫(xiě)死的過(guò)渡效果曲線(xiàn))
·linear 規(guī)定以相同速度開(kāi)始至結(jié)束的過(guò)渡效果(等于 cubic-bezier(0,0,1,1))。
·ease 規(guī)定慢速開(kāi)始,然后變快,然后慢速結(jié)束的過(guò)渡效果(cubic-bezier(0.25,0.1,0.25,1))。
·ease-in 規(guī)定以慢速開(kāi)始的過(guò)渡效果(等于 cubic-bezier(0.42,0,1,1))。
·ease-out 規(guī)定以慢速結(jié)束的過(guò)渡效果(等于 cubic-bezier(0,0,0.58,1))。
·ease-in-out 規(guī)定以慢速開(kāi)始和結(jié)束的過(guò)渡效果(等于 cubic-bezier(0.42,0,0.58,1))。
- CSS自適應(yīng)布局實(shí)現(xiàn)子元素項(xiàng)目整體居中/內(nèi)部項(xiàng)目左對(duì)齊
- 使用CSS混合模式和SVG來(lái)動(dòng)態(tài)更改產(chǎn)品圖片的顏色
- css新手教程之背景圖充滿(mǎn)整個(gè)屏幕的示例代碼介紹
- 詳解移動(dòng)端網(wǎng)頁(yè)設(shè)計(jì)實(shí)現(xiàn)內(nèi)滾動(dòng)的四種解決方案
- 網(wǎng)頁(yè)設(shè)計(jì)如何優(yōu)雅的實(shí)現(xiàn)垂直居中
- 網(wǎng)頁(yè)設(shè)計(jì):淺談網(wǎng)頁(yè)基本性能優(yōu)化規(guī)則小結(jié)
- 用戶(hù)需求導(dǎo)致?tīng)I(yíng)銷(xiāo)型網(wǎng)頁(yè)設(shè)計(jì)
- 網(wǎng)頁(yè)設(shè)計(jì)柵格就是你對(duì)頁(yè)面版式的規(guī)劃
- 網(wǎng)頁(yè)設(shè)計(jì)內(nèi)容網(wǎng)頁(yè)中關(guān)于圖片預(yù)覽的設(shè)計(jì)
- 網(wǎng)頁(yè)設(shè)計(jì):腳本素材重構(gòu)用戶(hù)體驗(yàn)
CSS自適應(yīng)布局實(shí)現(xiàn)子元素項(xiàng)目整體居中/內(nèi)部項(xiàng)目左對(duì)齊示例代碼
文章主要介紹了CSS自適應(yīng)布局實(shí)現(xiàn)子元素項(xiàng)目整體居中,內(nèi)部項(xiàng)目左對(duì)齊,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,日常工作時(shí),我們可能遇到這...
使用CSS混合模式和SVG來(lái)動(dòng)態(tài)更改產(chǎn)品圖片的顏色
文章主要介紹了使用CSS混合模式和SVG來(lái)動(dòng)態(tài)更改產(chǎn)品圖片的顏色,需要的朋友可以參考下。前兩天在Codepen看到了@Kyle Wetton寫(xiě)的一個(gè)示例, 使用CSS混合模式和SVG來(lái)改變沙發(fā)的...
css新手教程之背景圖充滿(mǎn)整個(gè)屏幕的示例代碼介紹
文章主要給大家介紹了關(guān)于css新手教程之背景圖充滿(mǎn)整個(gè)屏幕的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用css具有一定的參考學(xué)習(xí)價(jià)值。想讓整個(gè)界面有一個(gè)背...
詳解移動(dòng)端網(wǎng)頁(yè)設(shè)計(jì)實(shí)現(xiàn)內(nèi)滾動(dòng)的四種解決方案
這篇文章主要介紹了關(guān)于移動(dòng)端實(shí)現(xiàn)內(nèi)滾動(dòng)的四種解決方案,實(shí)現(xiàn)的效果就是在一個(gè)區(qū)域內(nèi)只允許部分區(qū)域產(chǎn)生滾動(dòng)的效果,而其余部分則不能移動(dòng),需要的朋友可以參考借鑒,下面來(lái)一起看看吧。...
網(wǎng)頁(yè)設(shè)計(jì)如何優(yōu)雅的實(shí)現(xiàn)垂直居中
這篇文章主要給大家介紹了關(guān)于如何優(yōu)雅的實(shí)現(xiàn)垂直居中的相關(guān)資料,文中分別給大家介紹了已知寬高的元素、未知寬高的元素以及基于 Flexbox 的解決方案,都分別給出了示例代碼供大家參考學(xué)習(xí),需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧...
網(wǎng)頁(yè)設(shè)計(jì):淺談網(wǎng)頁(yè)基本性能優(yōu)化規(guī)則小結(jié)
這篇文章主要介紹了淺談網(wǎng)頁(yè)基本性能優(yōu)化規(guī)則小結(jié)的相關(guān)資料,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧...
用戶(hù)需求導(dǎo)致?tīng)I(yíng)銷(xiāo)型網(wǎng)頁(yè)設(shè)計(jì)
我們的每期話(huà)題,團(tuán)隊(duì)在內(nèi)部都會(huì)通過(guò)郵件進(jìn)行一番討論,隨著討論的激烈,往往能碰撞出很多有意義的觀點(diǎn),因此,將討論內(nèi)容分享出來(lái),有興趣的朋友可以接著話(huà)題討論下去。Junchen:期望不是從石頭里面蹦出來(lái)的,所有期望都是受到外界影響、結(jié)合自身需求的一個(gè)外在表現(xiàn)...
網(wǎng)頁(yè)設(shè)計(jì)柵格就是你對(duì)頁(yè)面版式的規(guī)劃
英文原文:http://desktoppub.about.com/od/grids/l/aa_gridsorder.htm柵格就是你對(duì)頁(yè)面版式的規(guī)劃你日常所見(jiàn)的許多頁(yè)面都有柵格存在。你可能注意不到,但它確實(shí)存在,并且支撐著設(shè)計(jì)內(nèi)容,建立整體的架構(gòu),引導(dǎo)著頁(yè)面的元素。柵格是隱形的架構(gòu),用于指導(dǎo)你頁(yè)面...
網(wǎng)頁(yè)設(shè)計(jì)內(nèi)容網(wǎng)頁(yè)中關(guān)于圖片預(yù)覽的設(shè)計(jì)
之前有寫(xiě)過(guò)《內(nèi)容頁(yè)頁(yè)碼的預(yù)覽導(dǎo)航》跟《照片預(yù)覽導(dǎo)航分析》兩個(gè)文章,想說(shuō)明的是預(yù)覽這一功能在用戶(hù)心理所占有的比重是很大的,如果僅僅只是給出一排順序數(shù)字做為鏈接的標(biāo)題,用戶(hù)的心理會(huì)產(chǎn)生不安全感。雖然給出一排順序數(shù)字做為鏈接幾乎是整個(gè)互聯(lián)網(wǎng)的默認(rèn)分頁(yè)鏈接模...
網(wǎng)頁(yè)設(shè)計(jì):腳本素材重構(gòu)用戶(hù)體驗(yàn)
設(shè)計(jì)網(wǎng)站的同志背景主要有兩種:學(xué)計(jì)算機(jī)、學(xué)藝術(shù)?;旧蠒?huì)寫(xiě)代碼的不懂設(shè)計(jì),會(huì)設(shè)計(jì)的不懂代碼,這個(gè)格局似乎到今天還沒(méi)變。某些學(xué)計(jì)算機(jī)的同學(xué),有自己的審美品位,也能夠做出看起來(lái)不錯(cuò)的網(wǎng)站,但學(xué)藝術(shù)的同學(xué)普遍難搞懂代碼...

