CSS3 Transition在Chrome中不再工作



我所知,直到现在,我对 CSS3 过渡没有任何问题。突然(可能是因为 chrome 更新或对我的代码的其他修改)它刚刚停止在 chrome (32.0.1700.77) 中工作,但仍然可以在所有其他浏览器(以及旧版本的 chrome)中工作。

@media screen and (max-width: 1325px) {
    .row-offcanvas {
        position: absolute;
        -webkit-transition: all 0.25s ease-out;
        -moz-transition: all 0.25s ease-out;
        transition: all 0.25s ease-out;
        width: 100%;
    }
    button.toggle {
        display: inline-block;
    }
    .row-offcanvas-left,
    .sidebar-offcanvas {
        left: -239px;
        z-index: 9999;
        height: 700px;
    }
    .row-offcanvas-left.active {
        left: 239px;
    }
    .sidebar-offcanvas {
        position: absolute;
        top: 0;
        width: 239px;
    }
}

我没有对网站的这一部分进行任何更改,也无法解释为什么它突然不起作用。过渡是针对一个面板,当单击按钮时,该面板会滑出,由这段javascript触发(不负责动画)。

$(document).ready(function() {
  $('[data-toggle=offcanvas]').click(function() {
    $('.row-offcanvas').toggleClass('active');
  });
});

您的问题是您正在尝试从未定义的属性进行动画处理:您正在将left更改为 239px ,但最初没有明确将其指定为 0。因此,它默认为 auto ,该值没有有效的平滑过渡到 239px

left:0添加到基本定义中,您将没事的。

在此处查看JSfiddle,演示您在Chrome 32+中的问题。

相关内容

  • 没有找到相关文章

最新更新