网站链接: 我爱捣鼓
当前位置: 首页 > 前端开发 > css

css实现404滚动3d盒子酷炫效果

2022/5/19 21:57:13

前两天在浏览一个网站的时候报404错误,但这个404错误很有创意,今天我们就用css来实现一个如下图所示的404酷炫的效果。<html><head> <meta charset="UTF-8"> <link rel="apple-touch-icon" type="image/png" h…

        前两天在浏览一个网站的时候报404错误,但这个404错误很有创意,今天我们就用css来实现一个如下图所示的404酷炫的效果。

image.png

<html>
<head>
  <meta charset="UTF-8">
  <link rel="apple-touch-icon" type="image/png"
    href="https://cpwebassets.codepen.io/assets/favicon/apple-touch-icon-5ae1a0698dcc2402e9712f7d01ed509a57814f994c660df9f7a952f3060705ee.png">
  <meta name="apple-mobile-web-app-title" content="CodePen">
  <link rel="shortcut icon" type="image/x-icon"
    href="https://cpwebassets.codepen.io/assets/favicon/favicon-aec34940fbc1a6e787974dcd360f2c6b63348d4b1f4e06c77743096d55480f33.ico">
  <link rel="mask-icon" type="image/x-icon"
    href="https://cpwebassets.codepen.io/assets/favicon/logo-pin-8f3771b1072e3c38bd662872f6b673a722f4b3ca2421637d5596661b4e2132cc.svg"
    color="#111">
  <title>css实现404滚动3d盒子酷炫效果www.woaidaogu.com</title>
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css">
  <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Anton">
  <style>
    body {
      background: #000;
      height: 100vh;
      overflow: hidden;
      display: flex;
      font-family: "Anton", sans-serif;
      justify-content: center;
      align-items: center;
      perspective: 1000px;
    }
    div {
      transform-style: preserve-3d;
    }
    .rail {
      position: absolute;
      width: 100%;
      height: 100%;
      display: flex;
      justify-content: center;
      align-items: center;
      transform: rotateX(-30deg) rotateY(-30deg);
    }
    .rail .stamp {
      position: absolute;
      width: 200px;
      height: 200px;
      display: flex;
      justify-content: center;
      align-items: center;
      background: #141414;
      color: #fff;
      font-size: 7rem;
    }
    .rail .stamp:nth-child(1) {
      -webkit-animation: stampSlide 40000ms -2300ms linear infinite;
      animation: stampSlide 40000ms -2300ms linear infinite;
    }
    .rail .stamp:nth-child(2) {
      -webkit-animation: stampSlide 40000ms -4300ms linear infinite;
      animation: stampSlide 40000ms -4300ms linear infinite;
    }
    .rail .stamp:nth-child(3) {
      -webkit-animation: stampSlide 40000ms -6300ms linear infinite;
      animation: stampSlide 40000ms -6300ms linear infinite;
    }
    .rail .stamp:nth-child(4) {
      -webkit-animation: stampSlide 40000ms -8300ms linear infinite;
      animation: stampSlide 40000ms -8300ms linear infinite;
    }
    .rail .stamp:nth-child(5) {
      -webkit-animation: stampSlide 40000ms -10300ms linear infinite;
      animation: stampSlide 40000ms -10300ms linear infinite;
    }
    .rail .stamp:nth-child(6) {
      -webkit-animation: stampSlide 40000ms -12300ms linear infinite;
      animation: stampSlide 40000ms -12300ms linear infinite;
    }
    .rail .stamp:nth-child(7) {
      -webkit-animation: stampSlide 40000ms -14300ms linear infinite;
      animation: stampSlide 40000ms -14300ms linear infinite;
    }
    .rail .stamp:nth-child(8) {
      -webkit-animation: stampSlide 40000ms -16300ms linear infinite;
      animation: stampSlide 40000ms -16300ms linear infinite;
    }
    .rail .stamp:nth-child(9) {
      -webkit-animation: stampSlide 40000ms -18300ms linear infinite;
      animation: stampSlide 40000ms -18300ms linear infinite;
    }
    .rail .stamp:nth-child(10) {
      -webkit-animation: stampSlide 40000ms -20300ms linear infinite;
      animation: stampSlide 40000ms -20300ms linear infinite;
    }
    .rail .stamp:nth-child(11) {
      -webkit-animation: stampSlide 40000ms -22300ms linear infinite;
      animation: stampSlide 40000ms -22300ms linear infinite;
    }
    .rail .stamp:nth-child(12) {
      -webkit-animation: stampSlide 40000ms -24300ms linear infinite;
      animation: stampSlide 40000ms -24300ms linear infinite;
    }
    .rail .stamp:nth-child(13) {
      -webkit-animation: stampSlide 40000ms -26300ms linear infinite;
      animation: stampSlide 40000ms -26300ms linear infinite;
    }
    .rail .stamp:nth-child(14) {
      -webkit-animation: stampSlide 40000ms -28300ms linear infinite;
      animation: stampSlide 40000ms -28300ms linear infinite;
    }
    .rail .stamp:nth-child(15) {
      -webkit-animation: stampSlide 40000ms -30300ms linear infinite;
      animation: stampSlide 40000ms -30300ms linear infinite;
    }
    .rail .stamp:nth-child(16) {
      -webkit-animation: stampSlide 40000ms -32300ms linear infinite;
      animation: stampSlide 40000ms -32300ms linear infinite;
    }
    .rail .stamp:nth-child(17) {
      -webkit-animation: stampSlide 40000ms -34300ms linear infinite;
      animation: stampSlide 40000ms -34300ms linear infinite;
    }
    .rail .stamp:nth-child(18) {
      -webkit-animation: stampSlide 40000ms -36300ms linear infinite;
      animation: stampSlide 40000ms -36300ms linear infinite;
    }
    .rail .stamp:nth-child(19) {
      -webkit-animation: stampSlide 40000ms -38300ms linear infinite;
      animation: stampSlide 40000ms -38300ms linear infinite;
    }
    .rail .stamp:nth-child(20) {
      -webkit-animation: stampSlide 40000ms -40300ms linear infinite;
      animation: stampSlide 40000ms -40300ms linear infinite;
    }
    @-webkit-keyframes stampSlide {
      0% {
        transform: rotateX(90deg) rotateZ(-90deg) translateZ(-200px) translateY(130px);
      }
      100% {
        transform: rotateX(90deg) rotateZ(-90deg) translateZ(-200px) translateY(-3870px);
      }
    }
    @keyframes stampSlide {
      0% {
        transform: rotateX(90deg) rotateZ(-90deg) translateZ(-200px) translateY(130px);
      }
      100% {
        transform: rotateX(90deg) rotateZ(-90deg) translateZ(-200px) translateY(-3870px);
      }
    }
    .world {
      transform: rotateX(-30deg) rotateY(-30deg);
    }
    .world .forward {
      position: absolute;
      -webkit-animation: slide 2000ms linear infinite;
      animation: slide 2000ms linear infinite;
    }
    .world .box {
      width: 200px;
      height: 200px;
      transform-origin: 100% 100%;
      -webkit-animation: roll 2000ms cubic-bezier(1, 0.01, 1, 1) infinite;
      animation: roll 2000ms cubic-bezier(1, 0.01, 1, 1) infinite;
    }
    .world .box .wall {
      position: absolute;
      width: 200px;
      height: 200px;
      background: rgba(10, 10, 10, 0.8);
      border: 1px solid #fafafa;
      box-sizing: border-box;
    }
    .world .box .wall::before {
      content: "";
      position: absolute;
      width: 100%;
      height: 100%;
      display: flex;
      justify-content: center;
      align-items: center;
      color: #fff;
      font-size: 7rem;
    }
    .world .box .wall:nth-child(1) {
      transform: translateZ(100px);
    }
    .world .box .wall:nth-child(2) {
      transform: rotateX(180deg) translateZ(100px);
    }
    .world .box .wall:nth-child(3) {
      transform: rotateX(90deg) translateZ(100px);
    }
    .world .box .wall:nth-child(3)::before {
      transform: rotateX(180deg) rotateZ(90deg) translateZ(-1px);
      -webkit-animation: zeroFour 4000ms -2000ms linear infinite;
      animation: zeroFour 4000ms -2000ms linear infinite;
    }
    .world .box .wall:nth-child(4) {
      transform: rotateX(-90deg) translateZ(100px);
    }
    .world .box .wall:nth-child(4)::before {
      transform: rotateX(180deg) rotateZ(-90deg) translateZ(-1px);
      -webkit-animation: zeroFour 4000ms -2000ms linear infinite;
      animation: zeroFour 4000ms -2000ms linear infinite;
    }
    .world .box .wall:nth-child(5) {
      transform: rotateY(90deg) translateZ(100px);
    }
    .world .box .wall:nth-child(5)::before {
      transform: rotateX(180deg) translateZ(-1px);
      -webkit-animation: zeroFour 4000ms linear infinite;
      animation: zeroFour 4000ms linear infinite;
    }
    .world .box .wall:nth-child(6) {
      transform: rotateY(-90deg) translateZ(100px);
    }
    .world .box .wall:nth-child(6)::before {
      transform: rotateX(180deg) rotateZ(180deg) translateZ(-1px);
      -webkit-animation: zeroFour 4000ms linear infinite;
      animation: zeroFour 4000ms linear infinite;
    }
    @-webkit-keyframes zeroFour {
      0% {
        content: "4";
      }
      100% {
        content: "0";
      }
    }
    @keyframes zeroFour {
      0% {
        content: "4";
      }
      100% {
        content: "0";
      }
    }
    @-webkit-keyframes roll {
      0% {
        transform: rotateZ(0deg);
      }
      85% {
        transform: rotateZ(90deg);
      }
      87% {
        transform: rotateZ(88deg);
      }
      90% {
        transform: rotateZ(90deg);
      }
      100% {
        transform: rotateZ(90deg);
      }
    }
    @keyframes roll {
      0% {
        transform: rotateZ(0deg);
      }
      85% {
        transform: rotateZ(90deg);
      }
      87% {
        transform: rotateZ(88deg);
      }
      90% {
        transform: rotateZ(90deg);
      }
      100% {
        transform: rotateZ(90deg);
      }
    }
    @-webkit-keyframes slide {
      0% {
        transform: translateX(0);
      }
      100% {
        transform: translateX(-200px);
      }
    }
    @keyframes slide {
      0% {
        transform: translateX(0);
      }
      100% {
        transform: translateX(-200px);
      }
    }
  </style>
  <script>
    window.console = window.console || function (t) { };
  </script>
  <script>
    if (document.location.search.match(/type=embed/gi)) {
      window.parent.postMessage("resize", "*");
    }
  </script>
</head>
<body translate="no">
  <div>
    <div class="stamp four">4</div>
    <div class="stamp zero">0</div>
    <div class="stamp four">4</div>
    <div class="stamp zero">0</div>
    <div class="stamp four">4</div>
    <div class="stamp zero">0</div>
    <div class="stamp four">4</div>
    <div class="stamp zero">0</div>
    <div class="stamp four">4</div>
    <div class="stamp zero">0</div>
    <div class="stamp four">4</div>
    <div class="stamp zero">0</div>
    <div class="stamp four">4</div>
    <div class="stamp zero">0</div>
    <div class="stamp four">4</div>
    <div class="stamp zero">0</div>
    <div class="stamp four">4</div>
    <div class="stamp zero">0</div>
    <div class="stamp four">4</div>
    <div class="stamp zero">0</div>
  </div>
  <div>
    <div>
      <div>
        <div></div>
        <div></div>
        <div></div>
        <div></div>
        <div></div>
        <div></div>
      </div>
    </div>
  </div>
  <div id="xl_chrome_ext_{4DB361DE-01F7-4376-B494-639E489D19ED}" style="display: none;">
    <div></div>
    <a id="xl_chrome_ext_download" href="javascript:;">下载视频</a>
    <a id="xl_chrome_ext_close" href="javascript:;"></a>
  </div>
</body>
</html>

        查看在线实例

        通过以上内容我们知道了css如何实现404滚动3d盒子酷炫效果?感谢您访问“我爱捣鼓(www.woaidaogu.com)”网站的内容,希望对大家有所帮助!引用本文内容时,请注明出处!谢谢合作!


相关资讯

  • 设置英文首字母大写的css属性是什么?

    设置CSS text-transform 的属性为capitalize就可以实现英文首字母大写。 定义和用法  text-transform 属性控制文本的大小写。 属性值 值 描 述 none 默认。定义带有小写字…

    2021/7/14 20:35:17
  • 只让页面显示横滚动条,不显示竖滚动条如何实现?

    只让页面显示横滚动条,不显示竖滚动条的方法其实很简单,主要用到body的两个css属性 overflow和 overflow-y,如下所示:body { overflow:scroll; overflow-y:hidden;}

    2021/2/28 21:45:25
  • 网页的滚动条样式可以修改吗?如何修改?

    网页的滚动条样式可以修改的,主要是使用css来控制那如何修改呢?如下代码:<div class="inner"> <div class="innerbox"> <p style="height:200px;">这是内容111</p> <p style="hei…

    2021/2/28 21:15:24
  • css如何实现6张图片均匀排列在一行?

    css部分如下:img{width:120px; height:80px;float:left;margin-right:16px;}.img3{margin-right:0;}html部分如下:<img src="images/001.jpg" /><img src="images/002.jpg" /><img src="images/003.jpg" /><img src=…

    2021/2/28 21:10:01