一、代码区域
1.1 css3代码区域
<style>
* {
padding: 0;
margin: 0;
list-style: none;
}
/* 1) 定义动画 */
@keyframes loop {
0% {
transform: rotateX(348deg) rotateY(67deg) rotateZ(95deg);
}
50% {
transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg);
}
100% {
transform: rotateX(348deg) rotateY(67deg) rotateZ(95deg);
}
}
ul {
/* 父元素 */
width: 200px;
height: 200px;
/* background-color: #ccc; */
margin: 200px auto;
position: relative;
/* 设置成3d容器 */
transform-style: preserve-3d;
/* 设置角度旋转 */
/* transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg); */
transform: rotateX(348deg) rotateY(67deg) rotateZ(95deg);
/* 2) 使用动画 */
animation: loop 8s linear infinite;
}
ul li {
width: 200px;
height: 200px;
position: absolute;
top: 0;
left: 0;
text-align: center;
line-height: 200px;
font-size: 20px;
user-select: none;
}
ul li:nth-child(1) {
background-color: rgba(255, 0, 0, .5);
/* 围绕X旋转90° 再位移盒子尺寸的一半 */
transform: rotateX(90deg) translateZ(100px);
}
ul li:nth-child(2) {
background-color: rgba(255, 255, 0, .5);
transform: rotateX(90deg) translateZ(-100px);
}
ul li:nth-child(3) {
background-color: rgba(255, 0, 255, .5);
transform: rotateY(90deg) translateZ(100px);
}
ul li:nth-child(4) {
background-color: rgba(0, 255, 0, .5);
transform: rotateY(90deg) translateZ(-100px);
}
ul li:nth-child(5) {
background-color: rgba(0, 0, 255, .5);
transform: translateZ(100px);
}
ul li:nth-child(6) {
background-color: rgba(0, 255, 255, .5);
transform: translateZ(-100px);
}
</style>
1.2 html代码区域
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
</ul>
二、代码效果展示
三、个人总结:
该功能的实现主要利用了css3中的动画,过渡属性,转换属性以及类名选择器,其中旋转的参数大家可自行修改,便于更好地理解该功能的实现。
注: 博主每天记录自己所学,如有写的不好之处,希望您能不吝赐教,给我一些关于这个项目的意见和建议。各位的宝贵意见将对我产生深远的影响,我将认真倾听并尽力改进。谢谢各位~~