CSS3实现一个立体的滚动盒子——6面筛子
七娃博客201人阅读
我们知道css可以实现过渡,动画,也可以制作3D的效果,在这分享一个3D动画效果
代码:
<style type="text/css"> .sbox { width: 100%; height: 100%; perspective: 500px;/*相机远近视角*/ } .cube { position: relative; width: 200px; height: 200px; margin: 100px auto; color: #ff92ff; font-size: 36px; font-weight: 100; text-align: center; line-height: 200px; transform-style: preserve-3d;/*3D元素声明*/ transform: rotateX(-50deg) rotateY(-50deg) rotateZ(0deg);/*初始3d元素角度*/ animation: move 8s infinite linear; } @keyframes move { 0% { transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg); } 100% { transform: rotateX(720deg) rotateY(360deg) rotateZ(360deg); } } .cube div { position: absolute; width: 100%; height: 100%; border: 10px solid #66daff; border-radius: 20px; background-color: rgba(51, 51, 51, 0.3); } .front { transform: translateZ(100px);/*通过tranform进行位置和角度调整*/ } .back { transform: translateZ(-100px) rotateY(180deg); } .left { transform: translateX(-100px) rotateY(-90deg); } .right { transform: translateX(100px) rotateY(90deg); } .top { transform: translateY(-100px) rotateX(90deg); } .bottom { transform: translateY(100px) rotateX(-90deg); } </style> <div class="sbox"> <section class="cube"> <div class="front">前面</div> <div class="back">后面</div> <div class="left">左面</div> <div class="right">右面</div> <div class="top">上面</div> <div class="bottom">下面</div> </section> </div>