​“一款好看的HTML404页面”

界面截图:
界面截图浏览

代码:

<!doctype html>
<html>
<head>
  <meta charset="utf-8">
  <title>若志奕鑫的博客</title>
  <style>
  body {
    background: #000;
    height: 100vh;
    overflow: hidden;
    display: flex;
    font-family: 'Anton', sans-serif;
    justify-content: center;
    align-items: center;
    -webkit-perspective: 1000px;
    perspective: 1000px;
  }
 
  div {
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
  }
 
  .rail {
    position: absolute;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    -webkit-transform: rotateX(-30deg) rotateY(-30deg);
    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% {
      -webkit-transform: rotateX(90deg) rotateZ(-90deg) translateZ(-200px) translateY(130px);
      transform: rotateX(90deg) rotateZ(-90deg) translateZ(-200px) translateY(130px);
    }
    100% {
      -webkit-transform: rotateX(90deg) rotateZ(-90deg) translateZ(-200px) translateY(-3870px);
      transform: rotateX(90deg) rotateZ(-90deg) translateZ(-200px) translateY(-3870px);
    }
  }
 
  @keyframes stampSlide {
    0% {
      -webkit-transform: rotateX(90deg) rotateZ(-90deg) translateZ(-200px) translateY(130px);
      transform: rotateX(90deg) rotateZ(-90deg) translateZ(-200px) translateY(130px);
    }
    100% {
      -webkit-transform: rotateX(90deg) rotateZ(-90deg) translateZ(-200px) translateY(-3870px);
      transform: rotateX(90deg) rotateZ(-90deg) translateZ(-200px) translateY(-3870px);
    }
  }
  .world {
    -webkit-transform: rotateX(-30deg) rotateY(-30deg);
    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;
    -webkit-transform-origin: 100% 100%;
    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) {
    -webkit-transform: translateZ(100px);
    transform: translateZ(100px);
  }
  .world .box .wall:nth-child(2) {
    -webkit-transform: rotateX(180deg) translateZ(100px);
    transform: rotateX(180deg) translateZ(100px);
  }
  .world .box .wall:nth-child(3) {
    -webkit-transform: rotateX(90deg) translateZ(100px);
    transform: rotateX(90deg) translateZ(100px);
  }
  .world .box .wall:nth-child(3)::before {
    -webkit-transform: rotateX(180deg) rotateZ(90deg) translateZ(-1px);
    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) {
    -webkit-transform: rotateX(-90deg) translateZ(100px);
    transform: rotateX(-90deg) translateZ(100px);
  }
  .world .box .wall:nth-child(4)::before {
    -webkit-transform: rotateX(180deg) rotateZ(-90deg) translateZ(-1px);
    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) {
    -webkit-transform: rotateY(90deg) translateZ(100px);
    transform: rotateY(90deg) translateZ(100px);
  }
  .world .box .wall:nth-child(5)::before {
    -webkit-transform: rotateX(180deg) translateZ(-1px);
    transform: rotateX(180deg) translateZ(-1px);
    -webkit-animation: zeroFour 4000ms linear infinite;
    animation: zeroFour 4000ms linear infinite;
  }
  .world .box .wall:nth-child(6) {
    -webkit-transform: rotateY(-90deg) translateZ(100px);
    transform: rotateY(-90deg) translateZ(100px);
  }
  .world .box .wall:nth-child(6)::before {
    -webkit-transform: rotateX(180deg) rotateZ(180deg) translateZ(-1px);
    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% {
      -webkit-transform: rotateZ(0deg);
      transform: rotateZ(0deg);
    }
    85% {
      -webkit-transform: rotateZ(90deg);
      transform: rotateZ(90deg);
    }
    87% {
      -webkit-transform: rotateZ(88deg);
      transform: rotateZ(88deg);
    }
    90% {
      -webkit-transform: rotateZ(90deg);
      transform: rotateZ(90deg);
    }
    100% {
      -webkit-transform: rotateZ(90deg);
      transform: rotateZ(90deg);
    }
  }
  @keyframes roll {
    0% {
      -webkit-transform: rotateZ(0deg);
      transform: rotateZ(0deg);
    }
    85% {
      -webkit-transform: rotateZ(90deg);
      transform: rotateZ(90deg);
    }
    87% {
      -webkit-transform: rotateZ(88deg);
      transform: rotateZ(88deg);
    }
    90% {
      -webkit-transform: rotateZ(90deg);
      transform: rotateZ(90deg);
    }
    100% {
      -webkit-transform: rotateZ(90deg);
      transform: rotateZ(90deg);
    }
  }
  @-webkit-keyframes slide {
    0% {
      -webkit-transform: translateX(0);
      transform: translateX(0);
    }
    100% {
      -webkit-transform: translateX(-200px);
      transform: translateX(-200px);
    }
  }
  @keyframes slide {
    0% {
      -webkit-transform: translateX(0);
      transform: translateX(0);
    }
    100% {
      -webkit-transform: translateX(-200px);
      transform: translateX(-200px);
    }
  }
</style>
</head>
<body>
  <div class="rail">
    <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 class="world">
    <div class="forward">
      <div class="box">
        <div class="wall"></div>
        <div class="wall"></div>
        <div class="wall"></div>
        <div class="wall"></div>
        <div class="wall"></div>
        <div class="wall"></div>
      </div>
    </div>
  </div>
</body>
</html>

欢迎使用 Typecho,如果您看到这篇文章,表示您的 blog 已经安装成功.

欢迎访问若志随笔!

若志随笔于(2018-10-29)正式搭建成功!

免责声明:

1、本网站属于个人的非盈利性网站,转载的文章遵循原作者的版权声明,如果原文没有版权声明,按照目前互联网开放的原则,我们将在不通知作者的情况下,转载文章;如果原文明确注明“禁止转载”,我们一定不会转载。如果我们转载的文章不符合作者的版权声明或者作者不想让我们转载您的文章的话,请来信告知:irils@qq.com

2、本网站转载文章仅为传播更多信息之目的,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证信息的正确性和完整性,且不对因信息的不正确或遗漏导致的任何损失或损害承担责任。

3、任何透过本网站网页而链接及得到的资讯、产品及服务,本网站概不负责,亦不负任何法律责任。

4、本网站所刊发、转载的文章,其版权均归原作者所有,如其他媒体、网站或个人从本网下载使用,请在转载有关文章时务必尊重该文章的著作权,保留本网注明的“稿件来源”,并自负版权等法律责任。

欢迎来到若志奕鑫的小站