正在加载乒乓风格页面 Html/Css

Loading pong style page Html/Css

我正在尝试制作与此相同的视觉效果 fiddle,但我没有弹跳球。我得到了这个结果:(它与第一个 fiddle 示例中的代码 copy/paste 完全相同)问题是什么? 我在 Google Chrome 和 Firefox 上测试了相同的结果。

body {
  background: #8063ea;
}

.pong-loader {
  position: absolute;
  margin: 0 auto;
  left: 0;
  right: 0;
  top: 50%;
  height: 40px;
  width: 6px;
  background-color: transparent;
  animation: paddles 0.75s ease-out infinite;
  transform: translate3d(0,0,0);
  
  &:before {
    content: "";
    position: absolute;
    margin: 0 auto;
    left: 0;
    right: 0;
    top: 15px;
    width: 10px;
    height: 10px;
    background-color: #fff;
    border-radius: 50%;
    animation: ballbounce 0.6s ease-out infinite;
  }
}

@keyframes paddles {
  0% {
    box-shadow: -25px -10px 0px #fff, 25px 10px 0px #fff;
  }
  50% {
    box-shadow: -25px 8px 0px #fff, 25px -10px 0px #fff;
  }
  100% {
    box-shadow: -25px -10px 0px #fff, 25px 10px 0px #fff;
  }
}

@keyframes ballbounce {
  0%{
    transform: translateX(-20px) scale(1,1.2);
  }
  25%{
    transform: scale(1.2,1);
  }
  50% {
    transform: translateX(15px) scale(1,1.2);
  }
  75% {
    transform: scale(1.2,1);
  }
  100% {
    transform: translateX(-20px);
  }
}
<div class="pong-loader"></div>

codepen 有 SCSS 而你把它粘贴为纯 CSS。您可以使用 codepen CSS 菜单将 SCSS 编译成纯 CSS 并获得所需的效果

body {
  background: #8063ea;
}

.pong-loader {
  position: absolute;
  margin: 0 auto;
  left: 0;
  right: 0;
  top: 50%;
  height: 40px;
  width: 6px;
  background-color: transparent;
  animation: paddles 0.75s ease-out infinite;
  transform: translate3d(0, 0, 0);
}

.pong-loader:before {
  content: "";
  position: absolute;
  margin: 0 auto;
  left: 0;
  right: 0;
  top: 15px;
  width: 10px;
  height: 10px;
  background-color: #fff;
  border-radius: 50%;
  animation: ballbounce 0.6s ease-out infinite;
}

@keyframes paddles {
  0% {
    box-shadow: -25px -10px 0px #fff, 25px 10px 0px #fff;
  }
  50% {
    box-shadow: -25px 8px 0px #fff, 25px -10px 0px #fff;
  }
  100% {
    box-shadow: -25px -10px 0px #fff, 25px 10px 0px #fff;
  }
}

@keyframes ballbounce {
  0% {
    transform: translateX(-20px) scale(1, 1.2);
  }
  25% {
    transform: scale(1.2, 1);
  }
  50% {
    transform: translateX(15px) scale(1, 1.2);
  }
  75% {
    transform: scale(1.2, 1);
  }
  100% {
    transform: translateX(-20px);
  }
}
<div class="pong-loader"></div>