css3的新屬性

CSS3常見的動畫效果的實現(xiàn)燥撞,其實主要是靠 transitionanimation 娩贷。 而通常么翰,這兩個又會和CSS3中的新屬性transform 來搭配使用
那么這三個東西其實是干什么用的呢?我按我自己的理解來下個簡單結(jié)論寞蚌。
transform:把元素變形峻村;
transition:元素的屬性變化時麸折,給他一個過渡的動畫效果;
animation:做復雜動畫粘昨。

下面來詳細地說一下磕谅。
首先要說的是transform的語法:  
1

transform:
none
 | transform-functions ;

none是他的默認值,后面的transform-functions指的是變形函數(shù)雾棺;
變形函數(shù)分兩種:2D和3D;
// 相關(guān)語法可以在http://www.w3school.com.cn/cssref/pr_transform.asp查詢

其中2D的包括:(變形的以元素中心為基準衬浑,即X軸和Y軸的50%處)
  translate()
//包括translateX() 和 translateY(); 作用:根據(jù)XOY坐標來移動元素(X方向右邊為正捌浩,Y方向下邊為正);
  scale()  
//包括scaleX() 和 scaleY(); 作用:放大或者縮小元素工秩;
  rotate()   
// 作用:旋轉(zhuǎn)元素尸饺;
  skew()   
// 包括 skewX() 和 skewY(); 作用:讓元素傾斜。

2助币、在舞臺的CSS上浪听,設置 perspective (視距),意思就是假設人離舞臺的距離眉菱。在容器的CSS上設置 transform-style: preserve-3d 來開啟3D視圖迹栓,讓容器的子元素在3D空間中呈現(xiàn)。 //如果把舞臺當做容器的話,perspective 和 transform-style 就寫在一起俭缓。

那么克伊,是不是變形的基點只能是元素的中心呢酥郭?不是的。 transform-origin屬性可以改變變形的基點愿吹。
transform-origin的關(guān)鍵字一般的就 top / bottom / left / right / center / top left / top right 之類的啦大家都熟不从,其中的某些單個關(guān)鍵字其實是簡寫,例如 top = top center = center top 犁跪;

接著就是過渡動畫 transition椿息。
觸發(fā)條件是 :hover / :focus / :active / :checked / JS中的事件
語法: transition: 指定過渡的CSS屬性 、 過渡所需時間 坷衍、 過渡的函數(shù)(動畫的速度控制) 寝优、 開始的延遲時間
指定過渡的CSS屬性:all / 指定樣式 / none (若省略不寫,則為 all 惫叛,none一般用于清空動畫)
過渡所需時間:單位s / ms (默認為0)
過渡的函數(shù): ease(由快到慢 默認值) / linear(勻速) / ease-in(加速) / ease-out(減速) / ease-in-out(先加速后減速)/ cubic-bezier(三次貝塞爾曲線)
延遲時間:單位s / ms (默認為0)
(寫transition的時候倡勇,先寫 動畫時間 , 再寫延遲時間)

  用 CSS3 實現(xiàn)一個半徑25px的圓 進行速度由快到慢的300px滾動嘉涌。
1
2

div{ 
width:50px; 
height:50px; 
border-radius:25px; 
background:#000;
 transition:  1s ease-out;
}
div:active{
 transform:translateX(300px) rotate(780deg);}

賊簡單吧~ 這里有幾個細節(jié)妻熊,第一個就是 transition 是放在元素上,而不是 active 上仑最,如果放在active上扔役,就沒有回去的動作了,大家可以試一下警医。第二個就是亿胸,transform多個屬性的時候,中間用空格來隔開预皇,如果用逗號的話就沒反應了侈玄。
但如果我在 :active 上加上 transition,


div{ 
width:50px; 
height:50px; 
border-radius:25px; 
background:#000; 
transition:1s ease-out;
}
div:active{ 
transform:translateX(300px) rotate(780deg);
transition:2s ease-in;
}

這樣按住的時候吟温,就會執(zhí)行 active 里面的transition序仙,也就是去的時候用時 2s ,加速運動鲁豪;而回來的時候執(zhí)行 div 里的transition 潘悼,用時1s 減速運動。

最后就到 animation 了~ animation也是做動畫的爬橡,不過功能比 transition 更加強大治唤,因為animation可以控制動畫的每一步,而transition只能控制開頭和結(jié)尾糙申。
語法 animation: 關(guān)鍵幀動畫名字 宾添、 動畫時間 、 動畫播放方式(函數(shù)) 、 延遲時間 辞槐、 循環(huán)次數(shù) 掷漱、 播放方向 、 播放狀態(tài) 榄檬、 動畫時間外的屬性 卜范;
關(guān)鍵幀動畫名字:就是你要執(zhí)行的動畫的名字,這里要先知道關(guān)鍵幀的語法

@keyframes name{
     
0%{ ...      }  

50%{ ...      }  
    
100%{ ...      }  

}   

這里的關(guān)鍵幀的名字就是name 鹿榜,然后百分比的就是動畫的進度海雪,可以根據(jù)需要設置不同的百分比,再設置不同的動畫舱殿。
動畫時間:和transition一樣~
動畫播放方式(函數(shù)):和transition的過渡的函數(shù)一樣~
延遲時間:和transition一樣~
循環(huán)次數(shù):動畫播放的次數(shù)奥裸,默認為1,通常為整數(shù)沪袭,如果為 infinite湾宙,則無限次地播放;
播放方向:默認為normal冈绊,就是正常地向前播放侠鳄,還有一個值是 alternate ,就是先正向播放死宣,再反向播放伟恶,不斷地交替;
播放狀態(tài):running(默認) 毅该、 paused // 像播音樂一樣可以通過動作來暫停動畫;
動畫時間外的屬性: none(默認) 博秫、 forwards 、 backwards 眶掌、both挡育;
  舉個例子吧:

@keyframes color{    
0%
{ 
  background:yellow
}
    
100%
{ 
      background:blue
}

}

 div{ 
      background:black;
}

none:    動畫開始前:黑 ; 動畫結(jié)束后:黑
  forwards:  動畫開始前:黑 朴爬; 動畫結(jié)束后:藍
  backwards: 動畫開始之前:黃 静盅; 動畫結(jié)束后:黑
  both:    動畫開始前:黃 ; 動畫結(jié)束后:藍
就是這么簡單~

最后寝殴,說一下這三個屬性在JS中的寫法:
transform:

obj.style.transform = "translateX(100px) scale(2)";
obj.style.webkitTransform = "translateX(100px) scale(2)";

//帶瀏覽器前綴

transition:

obj.style.transition = "1s";
obj.style.webKitTransition = "1s";

//帶瀏覽器前綴

animation:

obj.style.animation = "name 1s ";

//1、關(guān)鍵幀先在css寫好明垢;2蚣常、兼容寫法在關(guān)鍵幀里面寫;

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末痊银,一起剝皮案震驚了整個濱河市抵蚊,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖贞绳,帶你破解...
    沈念sama閱讀 211,290評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件谷醉,死亡現(xiàn)場離奇詭異,居然都是意外死亡冈闭,警方通過查閱死者的電腦和手機俱尼,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評論 2 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來萎攒,“玉大人遇八,你說我怎么就攤上這事∷P荩” “怎么了刃永?”我有些...
    開封第一講書人閱讀 156,872評論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長羊精。 經(jīng)常有香客問我斯够,道長,這世上最難降的妖魔是什么喧锦? 我笑而不...
    開封第一講書人閱讀 56,415評論 1 283
  • 正文 為了忘掉前任读规,我火速辦了婚禮,結(jié)果婚禮上裸违,老公的妹妹穿的比我還像新娘掖桦。我一直安慰自己,他們只是感情好供汛,可當我...
    茶點故事閱讀 65,453評論 6 385
  • 文/花漫 我一把揭開白布枪汪。 她就那樣靜靜地躺著,像睡著了一般怔昨。 火紅的嫁衣襯著肌膚如雪雀久。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,784評論 1 290
  • 那天趁舀,我揣著相機與錄音赖捌,去河邊找鬼。 笑死矮烹,一個胖子當著我的面吹牛越庇,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播奉狈,決...
    沈念sama閱讀 38,927評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼卤唉,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了仁期?” 一聲冷哼從身側(cè)響起桑驱,我...
    開封第一講書人閱讀 37,691評論 0 266
  • 序言:老撾萬榮一對情侶失蹤竭恬,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后熬的,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體痊硕,經(jīng)...
    沈念sama閱讀 44,137評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,472評論 2 326
  • 正文 我和宋清朗相戀三年押框,在試婚紗的時候發(fā)現(xiàn)自己被綠了岔绸。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,622評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡强戴,死狀恐怖亭螟,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情骑歹,我是刑警寧澤预烙,帶...
    沈念sama閱讀 34,289評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站道媚,受9級特大地震影響扁掸,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜最域,卻給世界環(huán)境...
    茶點故事閱讀 39,887評論 3 312
  • 文/蒙蒙 一谴分、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧镀脂,春花似錦牺蹄、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至翘魄,卻和暖如春鼎天,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背暑竟。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工斋射, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人但荤。 一個月前我還...
    沈念sama閱讀 46,316評論 2 360
  • 正文 我出身青樓罗岖,卻偏偏與公主長得像,于是被迫代替她去往敵國和親腹躁。 傳聞我的和親對象是個殘疾皇子桑包,可洞房花燭夜當晚...
    茶點故事閱讀 43,490評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 選擇qi:是表達式 標簽選擇器 類選擇器 屬性選擇器 繼承屬性: color,font潜慎,text-align捡多,li...
    love2013閱讀 2,304評論 0 11
  • 選擇qi:是表達式 標簽選擇器 類選擇器 屬性選擇器 繼承屬性: color,font铐炫,text-align垒手,li...
    wzhiq896閱讀 1,732評論 0 2
  • 看了很多視頻、文章倒信,最后卻通通忘記了科贬,別人的知識依舊是別人的,自己卻什么都沒獲得鳖悠。此系列文章旨在加深自己的印象榜掌,因...
    DCbryant閱讀 1,857評論 0 4
  • 1.CSS3 邊框 border-radius CSS屬性用來設置邊框圓角。當使用一個半徑時確定一個圓形乘综;當使用兩...
    garble閱讀 639評論 0 0
  • 變形--旋轉(zhuǎn) rotate() 旋轉(zhuǎn)rotate()函數(shù)通過指定的角度參數(shù)使元素相對原點進行旋轉(zhuǎn)憎账。它主要在二維空間...
    阿振_sc閱讀 934評論 1 5