safari - css3过渡不呈现

时间:2015-02-06 20:04:33

标签: safari css-transitions

使用Sass / Bourbon / Neat,请注意语法。

我有一个滚动事件的观察者,它为一个元素添加了一个类。我已将过渡设置为元素,以便让它们很好地轻松。

在Safari,桌面和移动设备中,它会受到影响,但在课程发生变化时似乎无法渲染样式。

这不会发生在每个视图上,并且不会一致地发生。有时它会加载,有时它不会加载。

它根本不与变换有关吗?也许Safari一直没有完全关注样式表?

我已经确认该类正在safari中添加,这适用于所有其他浏览器。

.header-box {
    position: fixed;
    z-index: 99999999999999999;
    top: 0;
    left: 0;
    width: 100%;
    padding-top: 1em;
    padding-bottom: 0.3em;
    @include transition(All 0.5s ease);

    &.nav-scroll {
        border-bottom: 2px solid $color__brand-light-grey;
        background-color: $color__brand-white;
    }
}

1 个答案:

答案 0 :(得分:1)

在safari中显然存在一个错误,即将多个过渡应用于层级元素。因此,如果父级有转换,则不会总是呈现子转换。

解决方案是插入一个绝对定位并符合父级宽度的新BG元素,并将过渡应用于它而不是父本身。