纯css实现旋转的正方形加载效果

代码语言:html

所属分类:加载滚动

代码描述:纯css实现旋转的正方形加载效果

代码标签: 旋转 正方形 加载 效果

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开


<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">

<style>
* {
  box-sizing: border-box;
}
:root {
  --size: 30;
  --speed: 5;
}
body {
  min-height: 100vh;
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
          align-items: center;
  -webkit-box-pack: center;
          justify-content: center;
  background: #404040;
}
.scene {
  -webkit-transform: translate(0, -97%);
          transform: translate(0, -97%);
  position: relative;
  height: calc(var(--size) * 1vmin);
  width: calc(var(--size) * 1vmin);
  min-width: 100px;
  min-height: 100px;
}
.square {
  height: calc(var(--size) * 1vmin);
  width: calc(var(--size) * 1vmin);
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%) scale(0.75) translate(0, 32.5%);
          transform: translate(-50%, -50%) scale(0.75) translate(0, 32.5%);
}
.square:before {
  content: '';
  position: absolute;
  background: var(--bg);
  height: 100%;
  width: 100%;
  -webkit-animation: traverse calc(((1 / var(--divider)) * var(--speed, 1)) * 1s) calc(((1 / var(--divider)) * var(--speed, 1)) * -0.075s) infinite ease;
          animation: traverse calc(((1 / var(--divider)) * var(--speed, 1)) * 1s) calc(((1 / var(--divider)) * var(--speed, 1)) * -0.075s) infinite ease;
}
@-webkit-keyframes traverse {
  0%, 100% {
    -webkit-transform: translate(-100%, 0);
            transform: translate(-100%, 0);
  }
  25% {
    -webkit-transform: translate(100%, 0);
            transform: translate(100%, 0);
  }
  50% {
    -webkit-transform: translate(100%, 200%);
            transform: translate(100%, 200%);
  }
  75% {
    -webkit-transform: translate(-100%, 200%);
            transform: translate(-100%, 200%);
  }
}
@keyframes traverse {
  0%, 100% {
    -webkit-transform: translate(-100%, 0);
            transform: translate(-100%, 0);
  }
  25% {
    -webkit-transform: translate(100%, 0);
            transform: translate(100%, 0);
  }
  50% {
    -webkit-transform: translate(100%, 200%);
            transform: translate(100%, 200%);
  }
  75% {
    -webkit-transform: translate(-100%, 200%);
            transform: translate(-100%, 200%);
  }
}
</style>

</head>
<body translate="no">
<div class="scene">
<div class="square" style="--index: 24; --bg: hsl(0, 0%, 0%); --divider: 1;">
<div class="square" style="--index: 23; --bg: hsl(0, 0%, 100%); --divider: 2;">
<div class="square" style="--index: 22; --bg: hsl(0, 0%, 0%); --divider: 3;&qu.........完整代码请登录后点击上方下载按钮下载查看

网友评论0