今天了解了css3的動畫漸變效果,如果我們要對頁面中的某個元素的樣式進行變化,就不用js或jquery苦苦的寫**了,直接用css3的這個transition這個屬性就ok,方便快捷,下面請看demo。
我要對某個div操作,例如:當滑鼠移入div中,改變其width、height和background,如果不使用transition屬性而直接用hover的話,會使頁面非常死板、生硬,如果使用js或jquery的話,太麻煩。transition的用法如下:
#box1
#box1:hover
transition:屬性1 時間1,屬性2 時間2....,屬性n 時間n;
由於不同瀏覽器核心不同,所以要加上相應的字首,-webkit-,-moz-,-o-。
當滑鼠移入div時,使div的background、width和height產生變化,變化的時間是2s。
過渡模式:transition有5中過渡模式:
1):ease 緩慢開始,緩慢結束(預設模式)
2):linear 勻速
3):ease-in 緩慢開始
4):ease-out:緩慢結束
5):ease-in-out:緩慢開始,緩慢結束,與ease稍有區別
其語法是:-webkit-transition:屬性1 時間1 過渡模式1,屬性2 時間2 過渡模式2.....;
例如:-webkit-transition:width 1s ease,height 2s linear,background 3s;
要使元素獲得3d效果,需要使用perspective和transform這兩個屬性,看如下**
我們要讓block呈現3d效果的話,可以對其加上如下css樣式:
#box
#block
父元素box:
perspective屬性:3d元素(子元素block)距離檢視(父元素box)的距離,單位畫素。
perspective-origin:眼睛所在的位置,預設50%是螢幕中心。
子元素block:
transform屬性:rotatex(deg),rotatey(deg),rotatez(deg),deg是角度的意思,使元素有旋轉效果
其中x軸是水平方向,y軸是垂直方向,z是沿著螢幕朝外的方向。
關於transform這個屬性,根據其值的不同可以產生不同的3d效果,rotate可以產生旋轉的效果,translate可以產生移動的效果,例如
-webkit-transform:translatex(300px) translatey(300px) translatiez(300px)
會沿著3個不同的方向移動,請大家注意translationz這個值:還記得前面給父元素box設定的prespective:800這個屬性嗎??z軸的方向是沿著螢幕向外,也就是說3d元素距離復元素800px,當translatez的時候,子元素沿著z軸移動,此時呈現的效果是元素會離觀察者越來越近哦,請大家細細體會!!!謝謝
CSS3動畫 3D旋轉
學了c3之後,簡單做了乙個3d旋轉的小demo.個人親猜測相容chrome firefox opera safari,沒有考慮ie。如果下面 有問題,可以在我的github檢視源 可以檢視網頁效果demo位址。如下 ccs3animation 3drotatetitle charset utf 8 ...
css3之3d動畫呈現
利用css3完成3d效果的簡單呈現 動畫效果用呈現不出來,大家自己動手寫乙個看看吧 新建html lang en charset utf 8 name viewport content width device width,initial scale 1.0 documenttitle head c...
CSS3實現3D立體效果
css3實現3d效果 1.涉及到的幾個css3屬性 首先大家需要了解transform屬性,主要有平移 translate 縮放 scale 拉伸 skew 旋轉 rotate 這裡涉及到3d轉換的主要介紹旋轉。下面通過一組rotate效果直觀理解rotatex,rotatey,rotatez區別。...