Transform CSS3中引入的 2D變化2D的 1. Rotate旋轉(zhuǎn).box {
transform: rotate(20deg); //順時針
}
.box2 {
transform: rotate(-20deg); //逆時針
}
可以將一個元素繞著旋轉(zhuǎn)點進行0到360度的旋轉(zhuǎn)操作,。默認(rèn)的旋轉(zhuǎn)點是在元素的中心點上(50% 50%)。 2. Scale縮放.box {
transform: scale(.5); //縮小為原來的一半
}
.box2 {
transform: scale(2); //放大為原來的兩倍
}
你也可以只針對寬度或者高度進行縮放操作,。 .box {
transform: scaleX(2); //將寬度變?yōu)樵瓉淼膬杀?}
.box2 {
transform: scaleY(.25); //將高度變?yōu)樵瓉淼?5%
}
3. Skew 傾斜.box {
transform: skewX(-5deg); //X軸順時針旋轉(zhuǎn)5度
}
.box1 {
transform: skewY(20deg); //Y軸逆時針旋轉(zhuǎn)20度
}
.box3 {
transform: skew(-5deg, 20deg); //同時作用在X和Y軸上
}
4. Translate 平移.box {
transform: translateX(-10px); //在橫軸上向左平移10個像素點
}
.box2 {
transform: translateY(20%); //在Y軸上向下平移其自身高度的20%
}
.box3 {
transform: translate(-10px, 20%); //同時在X軸和Y軸上平移
}
5. Matrix矩陣矩陣形式是將變形函數(shù)組合成一個矩陣形式進行使用的,,通常都需要借助工具。更詳細的說明可以參考這里,。
Transfrom Origin默認(rèn)的變換原點是在元素的中心,如果我們想要改變它,,可以使用屬性 .box {
transform: rotate(15deg);
transform-origin: 0 0; //以左上角點為變換點進行旋轉(zhuǎn)
}
3D變化3D是以2D變化為基礎(chǔ)的,,只是增加了一個z軸,。這條z軸是可以看做一個虛擬垂直與屏幕的坐標(biāo)軸,它代表在元素的遠近距離。其中正值代表離屏幕越近,,負值代表離屏幕越遠,。 Perspective
定義 .box {
transform: perspective(300px) rotateX(20deg);
}
也可以選擇定義在父元素上,這樣,,所有子元素都將使用這個值: .parent {
perspective: 300px;
}
.child {
transform: rotateX(20deg);
}
perspective-origin這個屬性是叫做“透視原點”,,可以使用X軸與Y軸的長度數(shù)據(jù)或百分比,,以及l(fā)eft/center等值進行設(shè)置,。默認(rèn)值為50% 50%??梢钥醋鲧R頭在平面上的距離,。 backface-visibility這個屬性用來控制是否可以看到被擋住的那些面,它的值分為 Transition
.box {
transition: all .5s ease;
}
Animation & Keyframes要使用CSS動畫,需要先定義一個關(guān)鍵幀(keyframes),。關(guān)鍵幀指明在特定時間點元素所展示出來的樣式狀態(tài),。觸發(fā)的時間點用百分比表示,其中 @keyframes animationName {
0% {
opacity: 1;
}
100% {
opacity: 0;
}
}
@keyframes fadeFromTo {
from {
opacity: 1;
}
to {
opacity: 0;
}
}
其簡寫形式為: animation : <single-animation-name> || <time> || <timing-function> || <time> || <single-animation-iteration-count> || <single-animation-direction> || <single-animation-fill-mode> || <single-animation-play-state>
多個動畫當(dāng)要對一個元素添加多個動畫效果時,,需要用 .element {
animation: fadeIn 4s 1s infinite linear alternate,
rotate 4s 1s infinite linear alternate;
}
@keyframes fadeIn {
to {
opacity: 0;
}
}
@keyframes rotate {
to {
transform: rotate(180deg);
}
}
|
|
來自: 夜雨江南xv2lqq > 《待分類》