关于css的3D自动旋转动画小记

看到点击微信开红包按钮,实现动画,切换不同图片,从而写了一个相似功能。

竖向旋转,切换不同背景,话不多说,上代码

<html lang="en">

<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<style>
.box-out {
border: 3px solid black;
width: 80px;
height: 100px;
margin: 100px auto;
position: relative;
border-radius: 10px;
}

.inner,
.inner2 {
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
width: 80px;
height: 100px;
border-radius: 6px;
backface-visibility: hidden;
/* 不面对屏幕时不可见 */
}

.inner {
background-color: red;
}

.inner2 {
background-color: blue;
transform: rotateY(180deg);
-webkit-transform: rotateY(180deg);
}

.box-out.move {
animation: 3s move infinite;
transform-style: preserve-3d;
}

@keyframes move {
0% {
transform: rotateY(0deg);
-webkit-transform: rotateY(0deg);
}
100% {
transform: rotateY(360deg);
-webkit-transform: rotateY(360deg);
}
}
</style>
</head>

<body>
<div class="box-out">
<div class="inner"></div>
<div class="inner2"></div>
</div>
</body>

<script>
var inner = document.getElementsByClassName('box-out')[0];
inner.addEventListener('click', () => {
inner.classList.add('move')
})
</script>

</html>


父元素div,一定要加上
transform-style: preserve-3d; 使被转换的子元素保留其 3D 转换。

猜你喜欢

转载自www.cnblogs.com/aimmz/p/11301124.html