CSS3 实现正方体

最终效果

demo

代码

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>立方体</title>
    <style>
        *{margin: 0;padding: 0;}

        .stage{position: relative;margin: 300px 0 0 300px;perspective: 800px;width: 200px;height: 200px;}
        .container{width: 200px;height: 200px;position: absolute;transform-style:preserve-3d;transition: all 3s;}
        .face{width: 100%;height: 100%;position: absolute;left: 0;top: 0;text-align: center;line-height: 200px;font-size: 50px;color: #fff;border: 1px solid #ccc;opacity: 0.3;background: #999;}
        .f1{transform: rotateX(90deg) translateZ(100px);}
        .f2{transform: translateZ(-100px);}
        .f3{transform: rotateX(90deg) translateZ(-100px);}
        .f4{transform: translateZ(100px);}
        .f5{transform: rotateY(90deg) translateZ(100px);}
        .f6{transform: rotateY(90deg) translateZ(-100px);}

    </style>
</head>
<body>
    <button>旋转</button>
    <div>
        <div>
            <div>1</div>
            <div>2</div>
            <div>3</div>
            <div>4</div>
            <div>5</div>
            <div>6</div>
        </div>
    </div>

    <script>
        var btn = document.getElementById(‘rot‘);
        var cont = document.getElementById(‘cont‘);
        btn.addEventListener(‘click‘,function(){
            cont.style.transform = ‘rotateY(180deg)‘;
        },false);

    </script>

</body>
</html>

首先我们需要一个舞台stage,方便我们设置perspective(透视值)
然后我们还需要一个container做旋转的容器,在container上面我们需要设置transfor-style,方便container下面的子元素转换成3d元素。
接着我们就可以开始给face安排位置

贴一张坐标图方便理解

坐标图

时间: 2024-12-18 21:14:34

CSS3 实现正方体的相关文章

HTML5 CSS3制作正方体3D效果

随着HTML5 CSS3的出现和发展,使得我们的网页可以实现更加复杂的效果,也使得我们的浏览体验更加丰富,所以今天我们将制作一个正方体的3D效果: 正方体需要六个面:那么我们就写一个ul列表,里面有六个li分别代表着正方体的六个面,而最外层的ul则可以作为这个正方体的参照物,代码如下: <ul> <li></li> <li></li> <li></li> <li></li> <li>&l

css3实践之摩天轮式图片轮播+3D正方体+3D标签云(perspective、transform-style、perspective-origin)

本文主要通过摩天轮式图片轮播的例子来讲解与css3 3D有关的一些属性. demo预览: 摩天轮式图片轮播(貌似没兼容360 最好用chrome) 3D正方体(chrome only) 3D标签云(css3版 chrome only) 3D标签云(js版 chrome only) 前文回顾 在前面的文章css3实践之图片轮播(Transform,Transition和Animation)中我们简单地了解了css3旗下的transform.transition以及animation.回顾一下,tr

HTML5 CSS3 实现旋转的3D正方体

1.transform属性对元素进行旋转.缩放.移动或倾斜.具体参考:http://www.w3school.com.cn/cssref/pr_transform.asp transform-style: preserve-3d;使被转换的子元素保留其 3D 转换,具体参考:http://www.w3school.com.cn/cssref/pr_transform-style.asp rotate3d与translate3d的参数为:(0/1,0/1,0/1,deg/px) 0代表不旋转或移动

css3的样式 ,一个正方体

<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"> &l

纯手写的css3正方体旋转效果

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>css3旋转立方体效果</title> <style type="text/css"> *{ margin: 0; padding: 0; } .box{ width: 400px; height: 400px; border: 1px solid #000; ma

CSS3—正方体广告轮播

正方体4个面广告滚动: 纵向4个面为广告图片,通过动画自动旋转播放显示如图: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> *{ margin: 0; padding: 0; } ul{ width: 200px; height: 200px; /

css3 正方体旋转

<div class="contain"> <div class="box"> <div class="face one"> </div> <div class="face two"> </div> <div class="face three"> </div> <div class="face

css3正方体效果

<!doctype html> <html> <head> <meta charset="utf-8"> <title></title> <style> html,body{ width: 100%; height: 100%; overflow: hidden } *{ margin: 0; padding: 0; } img{ height: 100%; width: auto; max-width

CSS3 3D变换实例 滚动的正方体

笔记: 2D变换 transform 位移   translateX() translateY()  简写:translate(X值,Y值)  正值向右,负值向左 旋转 rotate()  rotate(?deg)  括号中为角度值   正值是顺时针旋转,负值是逆时针旋转 缩放 scale()  scale() 括号中为数值,可以为浮点数     如大于1是放大效果,小于1是缩小效果 变形(斜切)  skewX() skewY() 简写:skew(X轴斜切角度,Y轴斜切角度) body:hove