position:fixed 造成页面抖动解决办法

今天做项目遇到一个问题。鼠标滚动到指定长度后,理想状况是菜单吸附到顶部。但是实际上在一些页面上会造成抖动。定位之后发现。window.pageYoffset值会变成0

搜索一些资料后发现。因为fixed定位后,这个div 就已经脱离文档流了。window.pageYoffset指的是document元素距离视窗的距离。所以导致window.pageYoffset变成了0

解决办法:

假设我们把fixed定位的div为divA, 那么在divA下面再写一个占位的div B,它的高度和divA一致,visible设为隐藏。用于占位文档流。这样就不会造成样式混乱了。

 

原文地址:https://www.cnblogs.com/ada-blog/p/11733965.html