Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CSS和滚动性能_Css_Performance_Google Chrome Devtools - Fatal编程技术网

CSS和滚动性能

CSS和滚动性能,css,performance,google-chrome-devtools,Css,Performance,Google Chrome Devtools,我有一个树状HTML结构,由~1k个元素组成。 页面滚动伴随着较低的FPS。 性能测试显示频繁更新层树,这需要60%的时间。 我怀疑原因在于CSS:禁用javascript不会改变任何东西,但删除所有样式可以解决问题。 那么,哪些CSS属性或选择器会导致这种行为呢?我不知道是否有任何特定的CSS规则会导致这种行为。我得看看这一页才能检查它。然而,使大型列表更平滑滚动的一种行之有效的技术是将transform:translate3d(…)添加到列表中(至少对我的公司来说,它证明了它的价值)。下面

我有一个树状HTML结构,由~1k个元素组成。
页面滚动伴随着较低的FPS。
性能测试显示频繁更新层树,这需要60%的时间。

我怀疑原因在于CSS:禁用javascript不会改变任何东西,但删除所有样式可以解决问题。


那么,哪些CSS属性或选择器会导致这种行为呢?

我不知道是否有任何特定的CSS规则会导致这种行为。我得看看这一页才能检查它。然而,使大型列表更平滑滚动的一种行之有效的技术是将
transform:translate3d(…)
添加到列表中(至少对我的公司来说,它证明了它的价值)。下面的代码片段给出了一个示例。也许这能在一定程度上解决你的问题

函数createList(id){
const container=document.getElementById(id);
for(设i=0;i<1e5;i++){
const div=document.createElement('div');
div.textContent=i;
子容器(div);
}
}
createList('container-1');
createList('container-2')
正文{
显示器:flex;
柔性流:行不换行;
}
部分{
高度:500px;
宽度:500px;
溢出y:滚动;
}
#集装箱-1{
背景:红色;
}
#集装箱-2{
背景:绿色;
变换:translate3d(0,0,0);
}

我不知道是否有任何特定的CSS规则会导致这种行为。我得看看这一页才能检查它。然而,使大型列表更平滑滚动的一种行之有效的技术是将
transform:translate3d(…)
添加到列表中(至少对我的公司来说,它证明了它的价值)。下面的代码片段给出了一个示例。也许这能在一定程度上解决你的问题

函数createList(id){
const container=document.getElementById(id);
for(设i=0;i<1e5;i++){
const div=document.createElement('div');
div.textContent=i;
子容器(div);
}
}
createList('container-1');
createList('container-2')
正文{
显示器:flex;
柔性流:行不换行;
}
部分{
高度:500px;
宽度:500px;
溢出y:滚动;
}
#集装箱-1{
背景:红色;
}
#集装箱-2{
背景:绿色;
变换:translate3d(0,0,0);
}



尝试在滚动时对所有元素设置
指针事件:无
。@Oridori我已经尝试过了,但对
溢出
和属性没有帮助。@wOxxOm如何处理这个
溢出
属性?设置一些特定的值?你能私下给我发一个链接到这个页面吗?我正在研究如何在官方的DevTools文档中更好地涵盖此类内容。给我的直接信息对我有用。任何其他遇到类似情况的人也欢迎给我发消息。尝试在滚动时在所有元素上设置
指针事件:无
。@OriDrori我已经尝试过了,但它不能帮助玩
溢出
和属性。@wOxxOm如何处理这个
溢出
属性?设置一些特定的值?你能私下给我发一个链接到这个页面吗?我正在研究如何在官方的DevTools文档中更好地涵盖此类内容。给我的直接信息对我有用。任何其他遇到类似情况的人也欢迎给我留言。谢谢你的回答。使用
display
flex flow
属性作为
body
,有什么意义呢?@legotin我只想将示例显示在彼此旁边。可以用float代替。然而,唯一重要的是
转换:translate3d(0,0,0)
。这个“把戏”其实很古老,比如说,你看,它还是没用的(@legotin您是否将其应用于实际滚动的元素?是的,我尝试将其应用于父容器以及项目。一般来说,我知道这种方法,有时也使用过。这不是万能药,但有时会有所帮助。但这次没有。感谢您的回答。使用
显示
flex flow有什么意义正文的属性
?@legotin我只是想将示例显示在彼此旁边。本可以使用float代替。但是,唯一重要的是
转换:translate3d(0,0,0)
。这个“技巧”其实很老,例如,请看,它没有任何帮助(@legotin您是否将其应用于实际滚动的元素?是的,我尝试将其应用于父容器以及项目。一般来说,我知道此方法,有时使用过。这不是万灵药,但有时会有所帮助。但这次不是。