gpt4 book ai didi

javascript - Safari 上的 CSS 转换与其他浏览器相比起伏不定

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:40:52 25 4
gpt4 key购买 nike

我真的很难尝试在 Safari 中创建平滑的 CSS 过渡。我试图通过使用 JavaScript onclick 事件更改它们的高度来隐藏/显示 div。在 Chrome、Firefox 和 Edge 中,由此产生的过渡非常流畅。然而,对于 Safari,它看起来很糟糕,渲染时必须在 15 fps 左右。

基本的 JSFiddle 在这里:https://jsfiddle.net/q5a9b62s/6/

我正在处理的网站在这里:http://www.allinimages.ch/

谢谢。

最佳答案

您可以尝试使用 JavaScript 将 className 添加到您的 div 中,如下所示:

    function grow() {
var element = document.getElementById("boxid");
if (!element.className) {
element.className = 'tall';
} else {
element.className = '';
}
};

我添加了 className 的无效化以启用动画切换。

然后,让 CSS 处理为您完成所有转换:

    #boxid {
background-color: red;
width: 50px;
height: 50px;
position: relative;
-webkit-transition: height 0.3s ease;
transition: height 0.3s ease;
}

#boxid.tall {
height: 500px;
-webkit-transition: height 0.3s ease;
transition: height 0.3s ease;
transform: translate3d(100) /* this property ensures GPU processing cross-browser */
}

Codepen 示例是 here .

有关平滑 CSS 过渡的精彩文章是 here .

跨浏览器使用 translate3d 的一些问题已记录在案 here .

关于javascript - Safari 上的 CSS 转换与其他浏览器相比起伏不定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40289461/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com