CSS также поддерживает 3D-преобразования.
Наведите курсор на элементы ниже, чтобы увидеть разницу между 2D-изображением. и 3D-преобразование:
<script> var x,y,n=0,ny=0,rotINT,rotYINT function rotateDIV() { x=document.getElementById("rotate2D") clearInterval(rotINT) rotINT=setInterval("startRotate()",10) } function rotateYDIV() { y=document.getElementById("rotate3D") clearInterval(rotYINT) rotYINT=setInterval("startYRotate()",10) } function startRotate() { n=n+1 x.style.transform="rotate(" + n + "deg)" x.style.webkitTransform="rotate(" + n + "deg)" x.style.OTransform="rotate(" + n + "deg)" x.style.MozTransform="rotate(" + n + "deg)" if (n==180 || n==360) { clearInterval(rotINT) if (n==360){n=0} } } function startYRotate() { ny=ny+1 y.style.transform="rotateY(" + ny + "deg)" y.style.webkitTransform="rotateY(" + ny + "deg)" y.style.OTransform="rotateY(" + ny + "deg)" y.style.MozTransform="rotateY(" + ny + "deg)" if (ny==180 || ny>=360) { clearInterval(rotYINT) if (ny>=360){ny=0} } }В этой главе вы узнаете о следующем свойстве CSS:
transformЦифры в таблице указывают первую версию браузера, полностью поддерживающую это свойство.
| Property | |||||
|---|---|---|---|---|---|
| transform | 36.0 |
10.0 |
16.0 |
9.0 |
23.0 |
С помощью свойства CSS transform вы можете использовать следующие методы 3D-преобразования:
rotateX()rotateY()rotateZ()rotateX()Метод rotateX() вращает элемент вокруг оси X на заданный угол:
#myDiv
{
transform: rotateX(150deg);
}Попробуйте сами →
<!DOCTYPE html>
<html>
<head>
<style>
div {
width: 300px;
height: 100px;
background-color: yellow;
border: 1px solid black;
}
#myDiv {
transform: rotateX(150deg);
}
</style>
</head>
<body>
<h1>The rotateX() Method</h1>
<p>The rotateX() method rotates an element around its X-axis at a given degree.</p>
<div>
This a normal div element.
</div>
<div id="myDiv">
This div element is rotated 150 degrees.
</div>
</body>
</html>
rotateY()Метод rotateY() вращает элемент вокруг оси Y на заданный угол:
#myDiv
{
transform: rotateY(150deg);
}Попробуйте сами →
<!DOCTYPE html>
<html>
<head>
<style>
div {
width: 300px;
height: 100px;
background-color: yellow;
border: 1px solid black;
}
#myDiv {
transform: rotateY(150deg);
}
</style>
</head>
<body>
<h1>The rotateY() Method</h1>
<p>The rotateY() method rotates an element around its Y-axis at a given degree.</p>
<div>
This a normal div element.
</div>
<div id="myDiv">
This div element is rotated 150 degrees.
</div>
</body>
</html>
rotateZ()Метод rotateZ() вращает элемент вокруг оси Z на заданный угол:
#myDiv
{
transform: rotateZ(90deg);
}Попробуйте сами →
<!DOCTYPE html>
<html>
<head>
<style>
div {
width: 300px;
height: 100px;
background-color: yellow;
border: 1px solid black;
}
#myDiv {
transform: rotateZ(90deg);
}
</style>
</head>
<body>
<h1>The rotateZ() Method</h1>
<p>The rotateZ() method rotates an element around its Z-axis at a given degree.</p>
<div>
This a normal div element.
</div>
<div id="myDiv">
This div element is rotated 90 degrees.
</div>
</body>
</html>
В следующей таблице перечислены все свойства 3D-преобразования:
Применяет 2D- или 3D-преобразование к элементу.
Позволяет менять положение трансформируемых элементов.
Указывает, как вложенные элементы отображаются в трехмерном пространстве.
Определяет перспективу просмотра 3D-элементов.
Определяет нижнее положение 3D-элементов.
Определяет, должен ли элемент быть виден, когда он не обращен к экрану.
Определяет 3D-преобразование с использованием матрицы 4x4 из 16 значений.
Определяет 3D-перевод
Определяет 3D-перенос, используя только значение для оси X.
Определяет трехмерный перевод, используя только значение оси Y.
Определяет 3D-перенос, используя только значение оси Z.
Определяет преобразование 3D-масштаба.
Определяет преобразование 3D-масштаба, задавая значение для оси X.
Определяет преобразование 3D-масштаба, задавая значение для оси Y.
Определяет преобразование 3D-масштаба, задавая значение для оси Z.
Определяет 3D-вращение
Определяет трехмерное вращение вдоль оси X.
Определяет трехмерное вращение вдоль оси Y.
Определяет трехмерное вращение вдоль оси Z.
Определяет вид в перспективе для преобразованного в 3D элемента.