一个小例子,3D的正方体

<!DOCTYPE html>
  <html oncontextmenu=self.event.returnValue=false onselectstart="return false"> <!-- 设置在当前网页禁止使用鼠标右键(不允许用户保存网页) -->
<head>
  <meta charset="utf-8"/>
  <title>3d效果</title>
  <style type="text/css">
    *{
      margin:0;
      padding:0;
    }
    ul,li{
      list-style: none;
    }
    .fl{
      float:left;
    }
    .ovf{
      overflow: hidden;
    }
    .box{
      width:100%;

      /*透视视距*/
      perspective: 1800PX;

      /*设置物体正面位置,x轴设置左右,y轴设置上下*/
      perspective-origin: 50% 50%;
    }
    .ul-box{
      width:200px;
      height:200px;
      margin:150px auto;
      position: relative;

      /*保留当前元素的子元素的3d效果*/
      transform-style: preserve-3d;
    }
    .ul-box1{
      width:100px;
      height:100px;

      /*保留当前元素的子元素的3d效果*/
      transform-style: preserve-3d;

      position: absolute;
      top:50%;
      left:50%;
      transform: translate(-50%, -50%);
    }
    .ul-box:hover{
      width:200px;
      height:200px;
      margin:150px auto;
      position: relative;

      /*保留当前元素的子元素的3d效果*/
      ransform-style: preserve-3d;

      animation: rotating 30s linear 0s infinite;
    }

    .list{
      margin:0 auto;
      width:200px;
      height: 200px;
      line-height: 200px;
      text-align: center;
      color:#fff;
      letter-spacing: 2PX;
      position: absolute;
      top:0;
      left:0;
    }
    .ulst{
      width:200px;
      height:200px;
    }
    .lista{
      width:calc(33.333333%);
      line-height:66.66px;
      background-color: #e4963c;
    }
    .list1{
      margin:0 auto;
      width:100px;
      line-height: 100px;
      text-align: center;
      color:#fff;
      letter-spacing: 2PX;
      position: absolute;
      top:0;
      left:0;
    }
    .a{
      background-color:rgba(255, 0, 0, .5);
      transform:rotate(0deg) translateZ(100px);
    }
    .a1{
      background-color:rgba(255, 0, 0, .5);
      transform:rotate(0deg) translateZ(50px);
    }
    .ul-box:hover .a{
      background-color:rgba(255, 0, 0, .5);
      transform:rotate(0deg) translateZ(170px);
      /* width:320px;
      height:320px;*/
    }
    /*.ul-box:hover .a .ulst .lista{
      margin:20px;
    }*/
    .b{
      background-color:rgba(0, 255, 0, .5);
      transform:rotateY(90deg) translateZ(100px);
    }
    .b1{
      background-color:rgba(0, 255, 0, .5);
      transform:rotateY(90deg) translateZ(50px);
    }
    .ul-box:hover .b{
      background-color:rgba(0, 255, 0, .5);
      transform:rotateY(90deg) translateZ(170px);
    }
    .c{
      background-color:rgba(0, 0, 255, .5);
      transform:rotateY(180deg) translateZ(100px);
    }
    .c1{
      background-color:rgba(0, 0, 255, .5);
      transform:rotateY(180deg) translateZ(50px);
    }
    .ul-box:hover .c{
      background-color:rgba(0, 0, 255, .5);
      transform:rotateY(180deg) translateZ(170px);
    }
    d{
      background-color:rgba(210, 68, 0, .5);
      transform:rotateY(270deg) translateZ(100px);
    }
    .d1{
      background-color:rgba(210, 68, 0, .5);
      transform:rotateY(270deg) translateZ(50px);
    }
    .ul-box:hover .d{
      background-color:rgba(210, 68, 0, .5);
      transform:rotateY(270deg) translateZ(170px);
    }
    .e{
      background-color:rgba(170, 248, 37, .5);
      transform:rotateX(90deg) translateZ(100px);
    }
    .e1{
      background-color:rgba(170, 248, 37, .5);
      transform:rotateX(90deg) translateZ(50px);
    }
    .ul-box:hover .e{
      background-color:rgba(170, 248, 37, .5);
      transform:rotateX(90deg) translateZ(170px);
    }
    .f{
      background-color:rgba(238, 200, 125, .5);
      transform:rotateX(-90deg) translateZ(100px);
    }
    .f1{
      background-color:rgba(238, 200, 125, .5);
      transform:rotateX(-90deg) translateZ(50px);
    }
    .ul-box:hover .f{
      background-color:rgba(238, 200, 125, .5);
      transform:rotateX(-90deg) translateZ(170px);
    }
    @keyframes rotating {
      0% {
        transform: rotateY(0deg) rotateX(0deg);
      }
      25%{
        transform: rotateY(360deg) rotateX(0deg);
      }
      50%{
        transform: rotateY(0deg) rotateX(360deg);
      }
      75%{
        transform: rotateY(0deg) rotateX(0deg);
      }
      100%{
        transform: rotateY(360deg) rotateX(360deg);
      }
    }
  </style>
</head>

<body>
  <div class="box">
    <ul class="ul-box">
      <li class="list a">
        HTML
        <!-- <ul class="ulst ovf">
          <li class="lista fl">0</li>
          <li class="lista fl">1</li>
          <li class="lista fl">2</li>
          <li class="lista fl">3</li>
          <li class="lista fl">4</li>
          <li class="lista fl">5</li>
          <li class="lista fl">6</li>
          <li class="lista fl">7</li>
          <li class="lista fl">8</li>
        </ul> -->
      </li>
      <li class="list b">CSS3</li>
      <li class="list c">JAVASCRIPT</li>
      <li class="list d">JQUERY</li>
      <li class="list e">TYPESCRIPT</li>
      <li class="list f">VUE</li>

      <ul class="ul-box1">
        <li class="list1 a1">a001</li>
        <li class="list1 b1">a002</li>
        <li class="list1 c1">a003</li>
        <li class="list1 d1">a004</li>
        <li class="list1 e1">a005</li>
        <li class="list1 f1">a006</li>
      </ul>
    </ul>
  </div>
</body>
</html>

一个3D正方体的更多相关文章

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

    本文主要通过摩天轮式图片轮播的例子来讲解与css3 3D有关的一些属性. demo预览: 摩天轮式图片轮播(貌似没兼容360 最好用chrome) 3D正方体(chrome only) 3D标签云(c ...

  2. 第一章 用three.js创建你的第一个3D场景

    第一章 用three.js创建你的第一个3D场景 到官网下载three.js的源码和示例. 创建HTML框架界面 第一个示例的代码如下: 01-basic-skeleton.html 位于 Learn ...

  3. 纯CSS实现3D正方体动画效果

    前言 纯CSS实现3D正方体动画效果,此方法是通过transform的旋转(rotate)和位移(translate)实现的,具体效果是鼠标滑过时正方体的一个面会产生位移 效果图 ​

  4. 使用CSS3实现一个3D相册

    CSS3系列我已经写过两篇文章,感兴趣的同学可以先看一下CSS3初体验之奇技淫巧,CSS3 3D立方体效果-transform也不过如此 第一篇主要列出了一些常用或经典的CSS3技巧和方法:第二篇是一 ...

  5. 如何用webgl(three.js)搭建一个3D库房-第一课

    今天我们来讨论一下如何使用当前流行的WebGL技术搭建一个库房并且实现实时有效交互 第一步.搭建一个3D库房首先你得知道库房长啥样,我们先来瞅瞅库房长啥样(这是我在网上找的一个库房图片,百度了“库房” ...

  6. DirectX11--实现一个3D魔方(3)

    前言 (2019/1/9 09:23)上一章我们主要讲述了魔方的旋转,这个旋转真是有毒啊,搞完这个部分搭键鼠操作不到半天应该就可以搭完了吧... (2019/1/9 21:25)啊,真香 有人发这张图 ...

  7. DirectX11--实现一个3D魔方(2)

    前言 上一章我们主要讲述了魔方的构造和初始化.纹理的准备工作.目前我还没有打算讲Direct3D 11关于底层绘图的实现,因此接下来这一章的重点是魔方的旋转.因为我们要的是能玩的魔方游戏,而不是一个观 ...

  8. DirectX11--实现一个3D魔方(1)

    前言 可以说,魔方跟我的人生也有一定的联系. 在高中的学校接触到了魔方社,那时候的我虽然也能够还原魔方,可看到大神们总是可以非常快地还原,为此我也走上了学习高级公式CFOP的坑.当初学习的网站是在魔方 ...

  9. CSS3D动画制作一个3d旋转的筛子

    希望这个demo能让大家理解CSS3的3d空间动画(其实是个假3D) 首先给一个3d的解剖图,x/y/z轴线轴线已经标出 下面附上添加特效的动画旋转 可以根据demo并参考上面解剖图进行理解 < ...

随机推荐

  1. centOS重启网络服务报错

    1:启动网卡报错(Failed to start LSB: Bring up/down networking )解决办法总结 将 NetworkManager关闭, systemctl stop Ne ...

  2. Spring中 如果该Service有多个实现类,它怎么知道该注入哪个ServiceImpl类?

    方法一:Controller中注入service的时候使用@Autowired自动注入,@Qualifier("beanId") 来指定注入哪一个. 方法二:Controller中 ...

  3. Lucky Sorting(CodeForces-109D)【思维】

    题意:给出一组数,要求从小到大排序,并且排序的过程中,发生交换的两个数至少一个为幸运数(十进制位均为4或7),问能否在(2×n)次交换内完成排序,如果能,输出交换的方案(不要求步骤数最少). 思路:首 ...

  4. 同步锁 死锁与递归锁 信号量 线程queue event事件

    二个需要注意的点: 1 线程抢的是GIL锁,GIL锁相当于执行权限,拿到执行权限后才能拿到互斥锁Lock,其他线程也可以抢到GIL,但如果发现Lock任然没有被释放则阻塞,即便是拿到执行权限GIL也要 ...

  5. Ruby Rails学习中:有点内容的静态页面

    续上篇: 一. 有点内容的静态页面 rails new 命令创建了一个布局文件, 不过现在最好不用.我们重命名这个文件: $ mv app/views/layouts/application.html ...

  6. java如何防止反编译(转)

    出处: java如何防止反编译 一些防止java代码被反编译的方法 综述(写在前面的废话) Java从诞生以来,其基因就是开放精神,也正因此,其可以得到广泛爱好者的支持和奉献,最终很快发展壮大,以至于 ...

  7. redis 学习(20)-- 常见的持久化开发与运维问题

    常见的持久化开发与运维问题 fork 操作 fork 操作是一个同步操作,若执行较慢会阻塞 redis 主线程 执行时间与内存量相关:内存越大,耗时越长:虚拟机较慢,真机较快 查看 fork 执行时间 ...

  8. MapReduces计数实验

    实验内容 现有某电商网站用户对商品的收藏数据,记录了用户收藏的商品id以及收藏日期,名为buyer_favorite1. buyer_favorite1包含:买家id,商品id,收藏日期这三个字段,数 ...

  9. 修改源码去除zblog博客分类目录的RSS图标

    zblog博客的所建立的分类默认前面是有一个RSS图标的,如下图所示: 其实这个图标的存在并不能起到太大的美化作用,增加用户订阅数量的作用.那么应该如何去掉这个RSS图标呢? 这个RSS图标的生成在z ...

  10. mqtt协议实现 java服务端推送功能(二)java demo测试

    上一篇写了安装mosQuitto和测试,但是用cmd命令很麻烦,有没有一个可视化软件呢? 有,需要在google浏览器下载一个叫MQTTLens的插件 打开MQTTLens后界面如下: 打开conne ...