overflow:auto 时页面滚动条出现时跳动

Posted haliofwu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了overflow:auto 时页面滚动条出现时跳动相关的知识,希望对你有一定的参考价值。

产生环境:

ant.design写的Item的时候,给选中添加背景.但是发现,在点击全部时,页面会有跳动,其他章节则不会有跳动.
章节内容的展示,是以


width:1000px;
margin:auto

或者 grid 的 auto 1000px auto 去实现的.

最后发现问题的所在是:
全部的时候因为内容较多,右侧产生了滚动条;而其他章节的时候,因为内容少,并没有滚动条产生.滚动条产生的时候是会占据一定的页面宽度.这就导致,auto的部分其实是重新计算的.整体的内容往左侧偏移了.使得整个页面产生一种闪烁的感觉..

google.张鑫旭大神居然有总结.
总结链接地址:小tip:CSS vw让overflow:auto页面滚动条出现时不跳动

总结:


overflow-y:scroll;

让右侧一直有个滚动的点在那占据位置.这样就不会出现闪烁了.
作者写了其他的优化,but,还是这个最简单啊…..

以上是关于overflow:auto 时页面滚动条出现时跳动的主要内容,如果未能解决你的问题,请参考以下文章

解决滚动条加载出现的页面抖动

html 自动显示横向滚动条

在页面中有overflow-y:auto属性的div,当出现滚动条,点击返回顶部按钮,内容回这个div最顶部

vue滚动条消失

在 div 溢出时禁用垂直滚动条:auto

IE6下出现横向滚动条问题的解决方案