1. 程式人生 > 其它 >css3-3D轉換

css3-3D轉換

今天我們來了解一下3D 轉換方法

rotateX()

rotateY()

transform-style()

perspective()

perspective-origin()屬性定義 3D 元素所基於的 X 軸和 Y 軸。該屬性允許您改變 3D 元素的底部位置

backface-visibility()隱藏被旋轉的 div 元素的背面

1.rotateX()方法,圍繞其在一個給定度數X軸旋轉的元素

div
{
    transform: rotateX(120deg);
    -webkit-transform: rotateX(120deg); /* Safari 與 Chrome */
}

2.rotateY()方法,圍繞其在一個給定度數Y軸旋轉的元素

div
{
    transform: rotateY(130deg);
    -webkit-transform: rotateY(130deg); /* Safari 與 Chrome */
}

3.transform-style,使被轉換的子元素保留其3D轉換,有兩個屬性值:flat (子元素將不保留其3D位置) | preserve-3d(子元素將保留其3D位置)

<!DOCTYPE html>
<html>
<head>
<style>
#div1
{
position: relative;
height: 200px;
width: 200px;
margin: 100px;
padding:10px;
border: 1px solid black;
}

#div2
{
padding:50px;
position: absolute;
border: 1px solid black;
background
-color: red; transform: rotateY(60deg); transform-style: preserve-3d; -webkit-transform: rotateY(60deg); /* Safari and Chrome */ -webkit-transform-style: preserve-3d; /* Safari and Chrome */ } #div3 { padding:40px; position: absolute; border: 1px solid black; background-color: yellow; transform: rotateY(80deg);
-webkit-transform: rotateY(-60deg); /* Safari and Chrome */ } </style> </head> <body> <div id="div1"> <div id="div2">HELLO <div id="div3">YELLOW</div> </div> </div> </body> </html>

4.perspective()方法,規定3D元素的透視效果

例如第一個方法rotate(),是不是從人的視覺感受,旋轉後好像變形一樣,沒有看到我們想要的效果,perspective()方法體現了,安排

<style>
#div1
{
    position: relative;
    height: 150px;
    width: 150px;
    margin: 50px;
    padding:10px;
    border: 1px solid black;
    perspective:150px;
    -webkit-perspective:150px; /* Safari and Chrome */
}

#div2
{
    padding:50px;
    position: absolute;
    border: 1px solid black;
    background-color: red;
    transform: rotateX(45deg);
    -webkit-transform: rotateX(45deg); /* Safari and Chrome */
}
</style>
<div id="div1">
  <div id="div2">HELLO</div>
</div>

是不是一下子有那種感覺了哈哈