一个小例子,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. GCD和LCM

    GCD _ LCM 是给你两个数A B 的最大公约数, 以及最小公倍数 the greatest common divisor and the least common multiply ! 最大公约 ...

  2. 洛谷 P1266 速度限制 题解

    题面 这道题可以理解为是一个分层图,也可以理解为是二维的SPFA dis[i][j]表示到达i这个点速度为j的最短路 然后跑已经死了的SPFA就好了: #include <bits/stdc++ ...

  3. Photon Server初识(二) ---通过NHibernate 映射数据库

    一.下载 NHibernate.dill 官网:https://nhibernate.info 或者通过NuGet下载(详情看上一节) 二.新建一个项目,并引入包 引入包 三.配置(重点) 1.配置x ...

  4. 【Havel 定理】Degree Sequence of Graph G

    [题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=2454 [别人博客粘贴过来的] 博客地址:https://www.cnblogs.com/debug ...

  5. 并不对劲的复健训练-p3674

    题目大意 给出序列$ a_1,...,a_n $ ( $ n\leq10^5,a\leq 10^5 $ ),有\(m\) ( \(m\leq 10^5\))个以下三类询问: (1)给出\(l,r,k\ ...

  6. 02docker核心概念

    1:docker三大核心概念 核心概念 描述 镜像 Docker镜像类似于虚拟机镜像,可以将它理解为一个只读的模板. 容器 Docker容器类似于一个轻量级的沙箱,Docker利用容器来运行和隔离应用 ...

  7. nignx简单介绍

    Nginx的产生 没有听过Nginx?那么一定听过它的"同行"Apache吧!Nginx同Apache一样都是一种WEB服务器.基于REST架构风格,以统一资源描述符(Unifor ...

  8. nofollow标签浪费了多少站长做外链的时间

    对于rel=“external nofollow”和rel=“nofollow”,这两句代码,使用起来效果基本是一致的,只是前者较后者更为规范一点,两者翻译过来的意思就是:rel=“external ...

  9. C# 文件过滤器

    首先说明一个示例,分析一下Filter属性的构成:“ Excel文件|*.xls ”,前面的“Excel文件”成为标签,是一个可读的字符串,可以自定定义,“|*.xls”是筛选器,表示筛选文件夹中后缀 ...

  10. yolov3应该什么时候停止训练?

    按照训练期间的参数提示: Region Avg IOU:0.798363,Class:0.893232,Obj:0.700808,No Obj:0.004567,Avg Recall:1.000000 ...