首页 > 解决方案 > 加载 pong 样式页面 Html/Css

问题描述

我正在尝试做与这个小提琴相同的视觉效果,但我没有弹跳球。我得到了这个结果:(与第一个小提琴示例完全相同的代码复制/粘贴)有什么问题?我在谷歌 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>

标签: htmlcssloadingpong

解决方案


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>


推荐阅读