3d立體坐標軸
如有不知道各種插件的怎么辦?
網上查,百度
1.css選擇器:
1.id 2.class 3.標簽 4.子代 5.后代 6.交集 7.並級 8.通配符 9.結構 10.偽類 11.屬性 12.相鄰 13.兄弟
2.瀏覽器的內核
谷歌的內核:webkit
Firefox(火狐)的內核:Gecko
ie的內核:Trident
opera(歐朋)的內核:presto
國內瀏覽器的內核:webkit
注意:css3並不是所有的瀏覽器都兼容
3.針對同一樣式(css3) 在不同瀏覽器的兼容,需要在樣式的屬性前加上他的內核前綴
谷歌的前綴:-webkit-transition
opera(歐朋)的前綴:-o-transition
火狐(Firefox)的前綴:-moz-transition
ie的前綴:-ms-transition;
4.css3中的過渡屬性:(transition)
過渡屬性的注意事項:時間要加單位;
過渡的屬性有四個:
屬性名稱(transition-property); 時間(transition-duration); 速度(traisition-timing-function); 延遲(transition-delay);
css3中的屬性基本上都可以簡寫(類似於background)
案例:
transition:width 2s linear 0s (解析:通過各種途徑,只要改變了某元素的寬,都會執行此代碼,的寬;2秒內執行完,勻速,0秒的延遲)
-webkit-transition:width 2s linear 0s (兼容谷歌,(谷歌的transition前綴可以省略));
-o-transition:width 2s linear 0s (兼容歐朋)
-moz-transition:width 2s linear 0s (兼容火狐)
-ms-transition:width 2s linear 0s (兼容ie)
css3添加動畫要寫@keyframes(一定要加前綴)
animation:動畫屬性的簡寫
動畫屬性有4個:
動畫名稱(用於@keyframes)(animation-name); 規定動畫完成的周期(animation-duration); 規定動畫的速度(animation-timing-function)
動畫不執行時的樣式(animation-fill-mode); 延遲幾秒執行動畫(animation-delay); 規定動畫的執行次數(animation-iteration-count);
下一個周期是否逆向執行(animation-direction); 規定動畫運行或暫停(animation-play-state);
案例:
animation:name 2s linear infinite alternate; (解析:name的動畫名稱,2秒內執行完畢,勻速,無限次數,順/逆時針來回切換,)
@-webkit-keyframes name{
from{
left:"100px" (從100px開始)
}
to{
left:"800px" (到800px結束)
}
}
這是兩個點的動畫,我們也可以設置多點動畫(用百分比)
@-webkit-keyframes name{
0%{
left:"100px"
}
25%{
left:"200px"
}
50%{
left:"300px"
}
75%{
left:"400px"
}
100%{
left:"500px"
}
}
通過百分比可以設置多個點,
2d(平面) 3d(立體)
x軸和y軸的面上轉,必定圍繞z軸轉,2d和3d的特效都是方法
2d和3d
transform: 適用於2d和3d轉換的元素;
c3種的3d和2d特效都是方法(函數)
2d種提供了4個方法;
transform:translate() 平移,兩個參數在x軸平移的距離 在y軸平移的距離 ,translateZ() 在z軸平移的距離
transform:rotate() 旋轉,參數是number deg(角度) rotateX() x軸旋轉 (依此類推)
transform:scale() 縮放,兩個參數(5)x/y都是5倍 (5,1) x是5倍,y是1倍;(放大) (.3) 縮小
transform:skew() 拉伸,兩個參數 (xdeg,ydeg);
注意:transform屬性,只能應用於簡寫,不能分開寫,否則后者將會覆蓋前者;
3d
3d的原理:近大遠小;
視距:物體於視網膜的距離
-webkit-perspective:透鏡(視距)(一定要加前綴)(這個屬性必須加在父級的元素上面且盡量不要寫在body上) flat(2d);
-webkit-transform-style:preserve-3d; (內部子元素成3d效果)
如果該元素有3d的效果:perspective的視距給他的父級元素;
transform-origin() 兩個參數,旋轉位置的修改;讓內部的子元素跟父級3d
backface-visibility:hidden; 元素不面對屏幕時是否可見;