CSS3的transform可以做2D的操作,當然也有3D

但需要再一個擁有perspective屬性的父元素才能顯現3D的效果

例如:

<div id="div1"><!-- perspective -->
  <div id="div2">3D</div><!-- transform -->
</div>

perspective屬性固名思義就是透視的意思;該屬性可以定義3D視覺的角度,讓底下子元素使用3D特效時能夠完整顯示。

perspective使用方法

perspective:150px;
/* 目前並非所有瀏覽器皆支援 */
-webkit-perspective:150px;
-moz-perspective:150px;

另外還有個屬性叫perspective-origin
功能是用來定義X和Y軸為基礎的3D位置(定義初始位置)

perspective-origin使用方法
屬性值:(x軸:left、center、right、長度、百分比) (y軸:top、center、bottom、長度、百分比)

/* perspective-origin 參數預設是50% 50% */
-webkit-perspective-origin: 40% 60%;/* Safari and Chrome */
-webkit-perspective-origin: 40px 60px;/* Safari and Chrome */
-moz-perspective-origin:left bottom; /* Firefox */

注意:perspective和perspective-origin受影響的是子元素,而非元素本身

最後就可以對div做3D的效果(rotateX和rotateY)

-webkit-transform: rotateX(290deg);
-webkit-transform: rotateY(290deg);
-moz-transform: rotateX(290deg);
-moz-transform: rotateY(290deg);
Categories: CSS