用到的知识点
主要利用css 的3D知识实现,用到的知识点有:transform:rotate3d translate ,为了美观,还用到了 动画,即annimation
效果描述
一个父盒子,被6个子盒子3D环绕,且父盒子自旋转,类似旋转木马效果
<style>
body{
/* 透视,给被观察元素的父元素添加,由于section也有3D操作,所以给爷爷加该属性 */
perspective: 600px;
}
section{
width:200px;
height: 200px;
margin: 40px auto;
position: relative;
/* 实现子元素3D效果 */
transform-style: preserve-3d;
/* animation: name duration timing-function delay iteration-count direction fill-mode; */
/* 动画 */
animation: xuanzhuan 10s linear infinite;
background: url('./img//snypwry.jpg') no-repeat;
}
section:hover{
animation-play-state: paused;
}
@keyframes xuanzhuan {
0%{
transform: rotateY(0);
}
100%{
transform: rotateY(360deg);
}
}
section div{
position: absolute;
top:0px;
left:0px;
width: 100%;
height: 100%;
background: url('./img//snypwry.jpg') no-repeat;
}
section div:nth-child(1){
transform: rotateY(0) translateZ(200px);
}
section div:nth-child(2){
transform: rotateY(60deg) translateZ(200px);
}
section div:nth-child(3){
transform: rotateY(120deg) translateZ(200px);
}
section div:nth-child(4){
transform: rotateY(180deg) translateZ(200px);
}
section div:nth-child(5){
transform: rotateY(240deg) translateZ(200px);
}
section div:nth-child(6){
transform: rotateY(300deg) translateZ(200px);
}
</style>
<body>
<section>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</section>
</body>
至此,得以实现。