将这个css动态模糊效果改为垂直



我有这段代码允许对象左右移动模糊,但是我想让它垂直移动蓝色,所以它从上到下然后再回到上。你能帮我一下吗?

http://jsfiddle.net/db8gr4y6/

  #outer {
    position: relative;
    margin: 10px;
  }
  #mb {
    position: absolute;
    left: 0;
    font-size: 2em;
    font-weight: bold;
    padding: 0.2em 1em;
    color: #fff;
    background-color: #600;
    border: 0.2em solid #c00;
    border-radius: 8px;
    text-shadow: 0 0 5px rgba(255, 255, 255, 0);
    box-shadow: 0 0 2px rgba(200, 0, 0, 0);
    -webkit-animation: motionblur 4s ease-in-out infinite;
    animation: motionblur 4s ease-in-out infinite;
  }
  @-webkit-keyframes motionblur {
    0% {
      left: 0;
      text-shadow: 0 0 0 rgba(255, 255, 255, 0);
      box-shadow: 0 0 0 rgba(200, 0, 0, 0);
    }
    5% {
      left: 0;
      -webkit-transform-origin: 0 0;
      -webkit-transform: scaleX(0.85);
    }
    25% {
      text-shadow: -5px 0 5px rgba(255, 255, 255, 1);
      box-shadow: -15px 0 10px -5px rgba(200, 0, 0, 0.5);
      -webkit-transform: scaleX(1.1) skewX(-4deg);
    }
    50% {
      left: 300px;
      text-shadow: 0 0 0 rgba(255, 255, 255, 0);
      box-shadow: 0 0 0 rgba(200, 0, 0, 0);
      -webkit-transform: scaleX(1) skewX(0deg);
    }
    55% {
      left: 300px;
      -webkit-transform-origin: 100% 0;
      -webkit-transform: scaleX(0.85);
    }
    75% {
      text-shadow: 5px 0 5px rgba(255, 255, 255, 1);
      box-shadow: 15px 0 10px -5px rgba(200, 0, 0, 0.5);
      -webkit-transform: scaleX(1.1) skewX(4deg);
    }
    100% {
      left: 0px;
      text-shadow: 0 0 0 rgba(255, 255, 255, 0);
      box-shadow: 0 0 0 rgba(200, 0, 0, 0);
      -webkit-transform: scaleX(1) skewX(0deg);
    }
  }
  @keyframes motionblur {
    0% {
      left: 0;
      text-shadow: 0 0 0 rgba(255, 255, 255, 0);
      box-shadow: 0 0 0 rgba(200, 0, 0, 0);
    }
    5% {
      left: 0;
      transform-origin: 0 0;
      transform: scaleX(0.85);
    }
    25% {
      text-shadow: -5px 0 5px rgba(255, 255, 255, 1);
      box-shadow: -15px 0 10px -5px rgba(200, 0, 0, 0.5);
      transform: scaleX(1.1) skewX(-4deg);
    }
    50% {
      left: 300px;
      text-shadow: 0 0 0 rgba(255, 255, 255, 0);
      box-shadow: 0 0 0 rgba(200, 0, 0, 0);
      transform: scaleX(1) skewX(0deg);
    }
    55% {
      left: 300px;
      transform-origin: 100% 0;
      transform: scaleX(0.85);
    }
    75% {
      text-shadow: 5px 0 5px rgba(255, 255, 255, 1);
      box-shadow: 15px 0 10px -5px rgba(200, 0, 0, 0.5);
      transform: scaleX(1.1) skewX(4deg);
    }
    100% {
      left: 0px;
      text-shadow: 0 0 0 rgba(255, 255, 255, 0);
      box-shadow: 0 0 0 rgba(200, 0, 0, 0);
      transform: scaleX(1) skewX(0deg);
    }
<div id="outer">
  <div id="mb">Motion Blur</div>
</div>

尝试反向动画。

将所有left属性替换为Top

将X, ScaleXSkewX的属性全部转换为SkewX SkewY

#outer {
  position: relative;
  margin: 10px;
}
#mb {
  position: absolute;
  left: 0;
  font-size: 2em;
  font-weight: bold;
  padding: 0.2em 1em;
  color: #fff;
  background-color: #600;
  border: 0.2em solid #c00;
  border-radius: 8px;
  text-shadow: 0 0 5px rgba(255, 255, 255, 0);
  box-shadow: 0 0 2px rgba(200, 0, 0, 0);
  -webkit-animation: motionblur 4s ease-in-out infinite;
  animation: motionblur 4s ease-in-out infinite;
}
@-webkit-keyframes motionblur {
  0% {
    top: 0;
    text-shadow: 0 0 0 rgba(255, 255, 255, 0);
    box-shadow: 0 0 0 rgba(200, 0, 0, 0);
  }
  5% {
    top: 0;
    -webkit-transform-origin: 0 0;
    -webkit-transform: scaleY(0.85);
  }
  25% {
    text-shadow: -5px 0 5px rgba(255, 255, 255, 1);
    box-shadow: -15px 0 10px -5px rgba(200, 0, 0, 0.5);
    -webkit-transform: scaleY(1.1) skewY(-4deg);
  }
  50% {
    top: 300px;
    text-shadow: 0 0 0 rgba(255, 255, 255, 0);
    box-shadow: 0 0 0 rgba(200, 0, 0, 0);
    -webkit-transform: scaleY(1) skewY(0deg);
  }
  55% {
    left: 300px;
    -webkit-transform-origin: 100% 0;
    -webkit-transform: scaleY(0.85);
  }
  75% {
    text-shadow: 5px 0 5px rgba(255, 255, 255, 1);
    box-shadow: 15px 0 10px -5px rgba(200, 0, 0, 0.5);
    -webkit-transform: scaleY(1.1) skewY(4deg);
  }
  100% {
    top: 0px;
    text-shadow: 0 0 0 rgba(255, 255, 255, 0);
    box-shadow: 0 0 0 rgba(200, 0, 0, 0);
    -webkit-transform: scaleY(1) skewY(0deg);
  }
}
@keyframes motionblur {
  0% {
    top: 0;
    text-shadow: 0 0 0 rgba(255, 255, 255, 0);
    box-shadow: 0 0 0 rgba(200, 0, 0, 0);
  }
  5% {
    top: 0;
    -webkit-transform-origin: 0 0;
    -webkit-transform: scaleY(0.85);
  }
  25% {
    text-shadow: -5px 0 5px rgba(255, 255, 255, 1);
    box-shadow: -15px 0 10px -5px rgba(200, 0, 0, 0.5);
    -webkit-transform: scaleY(1.1) skewY(-4deg);
  }
  50% {
    top: 300px;
    text-shadow: 0 0 0 rgba(255, 255, 255, 0);
    box-shadow: 0 0 0 rgba(200, 0, 0, 0);
    -webkit-transform: scaleY(1) skewY(0deg);
  }
  55% {
    top: 300px;
    -webkit-transform-origin: 100% 0;
    -webkit-transform: scaleY(0.85);
  }
  75% {
    text-shadow: 5px 0 5px rgba(255, 255, 255, 1);
    box-shadow: 15px 0 10px -5px rgba(200, 0, 0, 0.5);
    -webkit-transform: scaleY(1.1) skewY(4deg);
  }
  100% {
    top: 0px;
    text-shadow: 0 0 0 rgba(255, 255, 255, 0);
    box-shadow: 0 0 0 rgba(200, 0, 0, 0);
    -webkit-transform: scaleY(1) skewY(0deg);
  }
<div id="outer">
  <div id="mb">Motion Blur</div>
</div>

相关内容

  • 没有找到相关文章

最新更新