html - CSS 动画 - filter:blur() 不能与 transform:scale() 一起使用
问题描述
我正在制作一个 CSS 动画,其中文本扩展并变得模糊,然后多次恢复正常。要开始一个新的“阶段”,文本必须在放大之前变得模糊,然后在整个缩放过程中保持过滤器,只有在它恢复到初始大小时才会丢失它。这是一种失真效果。
将 filter:blur 置于关键帧 0% 以进行第一次缩放效果很好。但是,在第 2 阶段,它似乎不会在 transform:scale 之前的百分比上设置模糊过滤器。单独而言,与缩放相同的关键帧中的模糊过于渐进。我做错了什么还是固有的限制?我想保持这种效果,而不是为每个阶段创建不同的@keyframes。
@keyframes distortion {
0% { filter: blur(8px) }
12% { transform: scaleX(2); filter: blur(8px) }
12.5% { transform: scaleX(1); filter: blur(8px) }
12.51% { transform: initial; filter: none }
50% { transform: initial; filter: none } /* Pause */
50.1% { filter: blur(8px) } /*Phase 2, here's the problem */
54% { transform: scaleX(2) scaleY(1.1); filter: blur(8px) }
54.5% { transform: initial; filter: blur(8px) }
100% { transform: initial }
}
解决方案
推荐阅读
- solr - Solr Suggester 需要很长时间才能提供响应
- flutter - 如何在颤动中解析格式为“MM/dd/YY”的日期时间
- html - 引导程序 - 同一行
和按钮 - rust - Rust:如何将 BytesMut 转换/读取为文件?
- rust - 如何使用 Substrate API Client 写入 Substrate 的存储?
- c++ - 为什么要在这里计算余数?
- laravel - 在 Laravel 中使用 imagejpeg()
- javascript - 根据按钮点击显示隐藏内容
- html - 指定特定类时强制 div 子文本颜色
- android - 没有适配器的 xml 中的 Android ListView 或 GridView 项