老师您看下效果对不?另外,
来源:2-12 编程练习
我不是胖球球
2021-04-26 22:10:29
另外,transform-origin: 0 0;还是transform-origin: 100% 100%,这个是怎么看的呢?
相关代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
* {
padding: 0;
margin: 0;
}
.box {
width: 200px;
height: 200px;
margin: 50px auto;
position: relative;
perspective: 500px;
}
.box img {
width: 200px;
height: 200px;
border: 1px solid #000;
border-radius: 50%;
}
.box img.cat {
position: absolute;
left: 0;
top: 0;
transition: transform 1s linear 0s;
transform-origin: 0 0;
}
.box:hover img.cat {
transform: rotateY(-180deg);
}
.no2 img.cat {
transform-origin: 100% 100%;
}
.no2:hover img.cat {
transform: rotateY(180deg);
}
.no3 img.cat {
transform-origin: 0 0;
}
.no3:hover img.cat {
transform: rotateX(180deg);
}
.no4 img.cat {
transform-origin: 100% 100%;
}
.no4:hover img.cat {
transform: rotateX(-180deg);
}
</style>
</head>
<body>
<div class="box">
<img class="cat" src="../images/cat.jpg" alt="">
<img class="dog" src="../images/dog.jpg" alt="">
</div>
<div class="box no2">
<img class="cat" src="../images/cat.jpg" alt="">
<img class="dog" src="../images/dog.jpg" alt="">
</div>
<div class="box no3">
<img class="cat" src="../images/cat.jpg" alt="">
<img class="dog" src="../images/dog.jpg" alt="">
</div>
<div class="box no4">
<img class="cat" src="../images/cat.jpg" alt="">
<img class="dog" src="../images/dog.jpg" alt="">
</div>
</body>
</html>
1回答
同学你好,代码效果实现是正确的,针对同学的问题解答如下:
transition-origin属性主要是设置旋转元素的基点位置,第一个属性值表示在水平方向(X轴)的位置,第二个属性值表示垂直方向(Y轴)的位置。
(1)transition-origin:0 0;设置基点位置为元素的左上角,即绿色的位置,如下图所示:
以第一个动画效果为例:由于设置的是绕Y轴旋转,Y轴是竖直方向的,所以最终的旋转轴线是过Y轴并过transform-origin这点:
由于旋转角度是负的,方向如下:
(2)transition: 100% 100%;表示设置基点位置为元素的右下角,即绿色的位置,如下图所示:
以第二个动画为例:由于设置的是绕Y轴旋转,Y轴是竖直方向的,所以最终的旋转轴线是过Y轴并过transform-origin这点:
由于旋转角度是正的,方向如下:
其他的动画也是同样的道理,祝学习愉快~
相似问题