jquery - -webkit-animation/keyframes 不能与 -webkit-filter blur 一起很好地播放

标签 jquery css webkit css-animations

我正在尝试创建动画模糊效果。我想让背景图片慢慢变得模糊。我正在尝试使用 @-webkit-keyframes 来实现这一点,但只有动画不透明度在起作用。

这是一个实时示例:http://codepen.io/dylnclrk/pen/cvDfx

以及我在做什么的简要说明:

我的模糊混合:

@mixin blur($radius) {
  -webkit-filter: blur($radius); 
  -moz-filter: blur($radius); 
  -o-filter: blur($radius);
  -ms-filter: blur($radius); 
  filter: blur($radius);
}

我的动画关键帧:

@-webkit-keyframes image_blur {
    0% { 
          @include blur(0px);
          opacity: 1;
        }
    50% { 
          @include blur(0.2px);
          opacity: 0.96;
        }
   100% { 
          @include blur(0.4px);
          opacity: 0.92;
        }
}

动画:

.animated {
  -webkit-animation: image_blur 1s; 
  -webkit-animation-fill-mode: forwards;
}

Javascript:

$('.card').click(function () {
            $('.letter__picture').toggleClass('animated')
            $('.letter__text').toggleClass('visible', 1000);
         })

编辑:我知道一种方法,就是用 Photoshop 模糊图像并制作 Sprite 。然后调整模糊的不透明度 图像。但我想看看如何使用浏览器的模糊过滤器来做到这一点。

最佳答案

好吧,看来 Chrome 不喜欢同时使用不透明度规则和过滤器

感谢 reddit 的 /u/akaBruce带来this SO post引起我的注意。

看起来我想要做的是采用如下所示的关键帧规则:

opacity: 0.92;
-webkit-filter: blur(1px);

然后使用完整的过滤器:

-webkit-filter: opacity(92%) blur(1px);

看起来很合理。

这是一个 forked codepen我在哪里解决了问题。现在我所要做的就是消除闪烁(帮助?)...

关于jquery - -webkit-animation/keyframes 不能与 -webkit-filter blur 一起很好地播放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19461119/

相关文章:

html - 如何覆盖表格中的 CSS 样式

html - 将容器内的左浮动 <li> 标签居中

css - 是否有适用于孟加拉语 (Bānglā) 语言的@font-face?

jquery - 使用数组模式 jQuery 访问输入名称

javascript - 如何使用 Highcharts 在悬停时显示多个数据?

javascript - 如何创建除顶部 70px 之外的整页覆盖?

cocoa - 如何以编程方式从 WebView 对象中弹出 Webkit 的 Web Inspector?

Java网络浏览器

html - 按下边框 CSS

javascript - JQuery 插件范围问题