首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“will-change”或translateZ() hack是否可以提高“transition:height”的性能?

“will-change”或translateZ() hack是否可以提高“transition:height”的性能?
EN

Stack Overflow用户
提问于 2016-02-12 11:20:33
回答 1查看 2.7K关注 0票数 5

我正在建立一个手风琴与动画高度开放/关闭,其中内容高度是通过JS计算。我想确保最好的性能,所以我考虑的是强制硬件加速。

代码语言:javascript
复制
.accordion-item-content {
    overflow: hidden;
    transition: height .3s ease;
    transform: translateZ(0);
    will-change: transform;
}

在Chrome工具中,我可以看到每个手风琴项目都得到了一个层(因为将更改和/或转换属性),但是这会导致性能的提高吗?或者是转换、不透明和过滤,这是唯一可以从GPU呈现中获益的属性,正如我在这里所理解的:http://www.sitepoint.com/introduction-to-hardware-acceleration-css-animations/

另一个问题:“意志改变:身高”能做什么吗?它看起来是有效的(https://developer.mozilla.org/en-US/docs/Web/CSS/will-change),但是它没有创建一个层,我可以在dev工具中观察到。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-09 15:32:47

实际上,will-changetransform: translateZ()并不会将您的元素提升到它自己的层,从而将其发送到您的GPU。看看https://csstriggers.com/。你应该只给transformopacity动画。任何其他属性都会导致重新绘制或重新计算布局,即使您使用的是will-change

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35361310

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档