HTML CSS3中2D轉換、3D轉換、過渡效果總結


一、CSS3 2D轉換

  通過 CSS3 轉換,我們可以對元素進行移動、縮放、轉動、拉長或拉伸。

  特別注意,我們在使用css3動畫效果時,必須給他們加相應的瀏覽器前綴,以便瀏覽器識別,讓我們更好的去應用它。

  下面我給大家用一個小例子介紹一下各大瀏覽器的相應前綴:

div
{
transform: rotate(30deg);
-ms-transform: rotate(30deg);        /* IE 9(IE) */
-webkit-transform: rotate(30deg);    /* Safari and Chrome(蘋果和谷歌) */
-o-transform: rotate(30deg);        /* Opera (歐朋)*/
-moz-transform: rotate(30deg);        /* Firefox(火狐) */
} 

(1)translate() 方法:設置元素的移動。 

transform:translate(50px,100px);(把元素從左側移動 50 像素,從頂端移動 100 像素。) 

(2)rotate() 方法:設置元素的旋轉角度。(正值順時針,負值逆時針)

 transform:rotate(30deg); (順時針旋轉 30 度。)
 transform:rotate(-30deg);(逆時針旋轉 30 度。)

(3)scale() 方法:設置元素的尺寸增加或減少。

transform:scale(2,4);(第一個x值把寬度轉換為原始尺寸的 2 倍,第二個y值把高度轉換為原始高度的 4 倍。)

(4)skew() 方法:設置元素翻轉給定的角度,根據給定的水平線(X 軸)和垂直線(Y 軸)參數。 

transform:skew(30deg,20deg);( 圍繞 X 軸把元素翻轉 30 度,圍繞 Y 軸翻轉 20 度。)

(5)matrix() 方法:會把所有2D 轉換方法組合在一起,它需要六個參數,可以將元素進行:旋轉、縮放、移動以及傾斜。 

transform:matrix(0.866,0.5,-0.5,0.866,0,0);(將 div 元素旋轉 30 度)

二、CSS3 3D轉換

(1)transform-origin 屬性:設置旋轉元素的基點位置。(它必須和transform屬性一同使用)

transform: rotate(45deg);//首先旋轉角度
transform-origin:20% 40%;//設置元素的基點位置(x,y)
語法:transform-origin: x y z;

x(可能的值)
y(可能的值)
z(可能的值)
  • left
  • center
  • right
  • length
  • %
  • top
  • center
  • bottom
  • length
  • %
  • length

(2)transform-style 屬性:使被轉換的子元素保留其 3D 轉換。(也就是說:在 3D 空間中呈現被嵌套的元素。)(它也必須和transform屬性一同使用)

transform: rotateY(60deg);
transform-style: preserve-3d;

(3)perspective 屬性:設置元素被查看位置的視圖(透視)。(目前瀏覽器都不支持 perspective 屬性。)

perspective: 500;

(4)perspective-origin 屬性:設置 3D 元素的基點位置。

perspective:150;
perspective-origin: 10% 10%;

(5)backface-visibility 屬性:隱藏被旋轉的 div 元素的背面。

  (大家可以聯想一下制作卡片的翻轉效果)

  鏈接:http://www.zhangxinxu.com/study/201210/css3-animate-flip-example.html

backface-visibility:hidden;
語法:backface-visibility: visible(背面是可見的)|hidden(背面是不可見的);

注意:2D與3D的區別——2D 轉換元素能夠改變元素 x 和 y 軸。3D 轉換元素還能改變其 Z 軸。

這邊我們為了更直觀的看看他們還有哪些設置方法~給大家獻上看一張圖~~

三、CSS3 過渡

CSS3 過渡是元素從一種樣式逐漸改變為另一種的效果。

(過渡效果是在鼠標指針浮到元素上時發生的效果。) 

這邊我們要注意的是向要實現這一點,必須規定兩項內容: 

  • 規定您希望把效果添加到哪個 CSS 屬性上
  • 規定效果的時長

(1)應用於寬度屬性的過渡效果,時長為 2 秒。

transition: width 2s;
注意:如果時長未規定,則不會有過渡效果,默認值為0。

(2)向元素的寬度、高度和轉換添加過渡效果。

transition: width 2s, height 2s, transform 2s;
//注意:如果我們需要向多個樣式添加過渡效果,就要用逗號隔開。

(3)transition-property 屬性:規定應用過渡的 CSS 屬性的名稱。

transition-property:width;

(4)transition-duration 屬性:定義過渡效果花費的時間。默認是 0。

transition-duration: 5s;

(5)transition-timing-function 屬性:以相同的速度從開始到結束的過渡效果。默認是 "ease"。

transition-timing-function: linear;
語法:transition-timing-function: linear|ease|ease-in|ease-out|ease-in-out|cubic-bezier(n,n,n,n);

注意:這個屬性它可以設置不同的值,來改變其過渡效果的速度不同:

(6)transition-delay 屬性:規定在過渡效果開始之前需要等待的時間,以秒或毫秒計。默認是 0。

transition-delay: 2s;

     希望對大家有所幫助~~~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2024 CODEPRJ.COM