📅  最后修改于: 2023-12-03 15:07:25.973000             🧑  作者: Mango
在CSS中,变换器角度(transform-origin)属性定义了一个元素变换的起点,即它的变换中心点,通常为元素的中心点。该属性接受由2到3个值的数字或单词组成的值,它们表示了元素的X, Y和Z轴坐标。
transform-origin: x-axis y-axis z-axis;
其中,x-axis、y-axis和z-axis是长度值,可以使用不同的CSS长度单位。
如果只提供两个参数,则第三个默认为0。
让我们看几个例子,以更好地理解变换器角度(transform-origin)属性。
在下面的例子中,我们将一个矩形绕着它的左上角旋转。默认情况下,旋转中心点是元素的中心点。
div {
width: 100px;
height: 100px;
border: 1px solid black;
transform: rotate(45deg);
transform-origin: left top;
}
在下面的例子中,我们使用绝对定位来把元素放在页面的右下角,然后让它绕着它的右下角旋转。
div {
position: absolute;
right: 0;
bottom: 0;
width: 100px;
height: 100px;
border: 1px solid black;
transform: rotate(45deg);
transform-origin: right bottom;
}
在下面的例子中,我们旋转一个3D盒子,在所有轴上都设置了变换器角度。
.box {
width: 100px;
height: 100px;
border: 1px solid black;
transform-style: preserve-3d;
animation: spin 4s infinite linear;
}
@keyframes spin {
from { transform: rotateX(0) rotateY(0) rotateZ(0); }
to { transform: rotateX(360deg) rotateY(360deg) rotateZ(360deg); }
}
.box:before {
content: '';
display: block;
width: 100px;
height: 100px;
border: 1px solid black;
position: absolute;
top: -50px;
left: 0;
transform: rotateX(90deg);
transform-origin: top;
}
.box:after {
content: '';
display: block;
width: 100px;
height: 100px;
border: 1px solid black;
position: absolute;
top: 0;
left: -50px;
transform: rotateY(90deg);
transform-origin: left;
}
在下面的例子中,我们使用hover
伪类来为元素添加一个动画的效果。
div {
width: 100px;
height: 100px;
background-color: blue;
transition: transform 1s;
transform-origin: center;
}
div:hover {
transform: scale(1.5);
}
变换器角度(transform-origin)是一个非常强大和有用的CSS属性,可以让你控制一个元素的旋转或缩放的中心点。它可以帮助你创造更复杂的3D效果,并使你的布局更加灵活和可控。