css - ng-enter-stagger 动画不适用于 safari

标签 css angularjs

我有一个 ng-enter-stagger 动画,它适用于 chrome 和 firefox,但不适用于 safari。

我已经在过渡定义前添加了 -webkit- 但它不适用于 safari。看这个codepen问题的演示

    .animate-repeat.ng-enter-stagger,
    .animate-repeat.ng-leave-stagger {
        -webkit-transition-delay: 400ms;
        -webkit-transition-duration: 0s;
        transition-delay: 400ms;
        transition-duration: 0s;
    }

最佳答案

为了快速检查 Safari,我在 CodePen 的 CSS settings -> Vendor Prefixing 下打开了 autoprefixer。这似乎修复了最新的 Safari,因为我觉得效果不错。如果您有任何类型的构建步骤,我强烈建议您将 Autoprefixer 添加到组合中。如果这样做,问题就解决了!

如果您是 DIYer,当您为属性添加供应商前缀并使用转换/转换时,您还必须为属性值添加供应商前缀:

    .animate-repeat.ng-enter,
    .animate-repeat.ng-leave {
        -webkit-transition: -webkit-transform 1750ms;
        transition: transform 1750ms; 
    }

在您上面链接的 CodePen 中的几个实例中,您没有这样做。这样做应该可以解决问题!您在某些浏览器中使用某些效果的原因是因为它们支持您正确编写的无前缀版本。

解决此类问题的另一种 hacky 方法是使用 -webkit-transition: all 而不是指定所有不同的属性,尽管这会影响任何和所有变化的属性。

关于css - ng-enter-stagger 动画不适用于 safari,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31372408/

相关文章:

html - 如何水平和垂直居中选择框

javascript - 用于图像上传的 ng-file-upload 不起作用

javascript - Protractor 测试模态是否可见

javascript - 如何从 ionic 2 中的服务器响应获取 header 数据

javascript - 在angularjs中将id从一个页面传递到另一个页面

html - 需要帮助才能理解。我无法完全控制过渡属性

css - 未设置 CSS 自定义属性时回退到良好的默认值

javascript - 我想用javascript在控制台中显示匹配的记录

javascript - 使用提交按钮保存响应 (html)

javascript - 无法将 ng-repeat 值从表传递到自定义指令中?