如何识别哪个 Div 正在显示滚动条
How To identify which Div is displaying the scrollbar
我的仪表板应用程序是单页的 - 永远不会超过 100vh。
在某个地方,当我点击一个按钮时,一些未知的容器暂时溢出,右侧出现一个滚动条,然后一秒钟后就消失了。那一秒,页面背景跳动的很明显。
我希望通过 CSS 阻止此滚动条显示 - 但我很难识别溢出的容器。
有谁知道识别哪个 div 正在显示滚动条或哪个 div 溢出屏幕的方法或技巧?我已经研究了一段时间并且在想,必须有一个 DevTools 技巧才能快速找到它...
如果在操作过程中发生这种情况,我会问自己此刻加载的 DOM 元素是什么,我可能会尝试在此时加载的元素上添加类似 overflow: hidden;
的内容时刻看哪一个做。
如果有javascript,断点会有用。
也可以在 DOM 上放一些(元素检查器,右键单击 div 或其他元素,然后“打断”和“修改子树”)
我觉得断点很实用,可以回头做题
以下是我如何使用 Hadock 的答案来解决我的问题。使用 Break On Subtree Modifications(简称 BOSM),我能够做到以下几点:
我在 div 上设置了 BOSM,我认为它就在添加内容的上方,然后重新 运行 应用程序。
应用暂停并显示滚动条 - 正是我想要的。
在 DevTools 控制台中,我输入了以下内容:
[...document.querySelectorAll('*')].filter(x => x.scrollHeight > 1000)
这返回了所有带有大滚动条(高度 > 1000 像素)的 Div。就我而言,它们是:
- html
- 正文
- #react-入口点
我能够添加 css:
#react-entry-point{overflow: hidden;}
我的问题已经解决了。
这对每个人来说可能不是一个好的解决方案,但对我来说,我的 100vh(最大)单页应用程序,它成功了。
这里有一些其他有用的(相关的)控制台命令:
显示所有可能显示滚动条的容器(由用户 A1rPun 提供):
[...document.querySelectorAll('*')].filter(x => x.clientHeight < x.scrollHeight)
显示所有滚动条大于 150px 的容器:
[...document.querySelectorAll('*')].filter(x => x.scrollHeight > 150)
我的仪表板应用程序是单页的 - 永远不会超过 100vh。
在某个地方,当我点击一个按钮时,一些未知的容器暂时溢出,右侧出现一个滚动条,然后一秒钟后就消失了。那一秒,页面背景跳动的很明显。
我希望通过 CSS 阻止此滚动条显示 - 但我很难识别溢出的容器。
有谁知道识别哪个 div 正在显示滚动条或哪个 div 溢出屏幕的方法或技巧?我已经研究了一段时间并且在想,必须有一个 DevTools 技巧才能快速找到它...
如果在操作过程中发生这种情况,我会问自己此刻加载的 DOM 元素是什么,我可能会尝试在此时加载的元素上添加类似 overflow: hidden;
的内容时刻看哪一个做。
如果有javascript,断点会有用。
也可以在 DOM 上放一些(元素检查器,右键单击 div 或其他元素,然后“打断”和“修改子树”)
我觉得断点很实用,可以回头做题
以下是我如何使用 Hadock 的答案来解决我的问题。使用 Break On Subtree Modifications(简称 BOSM),我能够做到以下几点:
我在 div 上设置了 BOSM,我认为它就在添加内容的上方,然后重新 运行 应用程序。
应用暂停并显示滚动条 - 正是我想要的。
在 DevTools 控制台中,我输入了以下内容:
[...document.querySelectorAll('*')].filter(x => x.scrollHeight > 1000)
这返回了所有带有大滚动条(高度 > 1000 像素)的 Div。就我而言,它们是:
- html
- 正文
- #react-入口点
我能够添加 css:
#react-entry-point{overflow: hidden;}
我的问题已经解决了。
这对每个人来说可能不是一个好的解决方案,但对我来说,我的 100vh(最大)单页应用程序,它成功了。
这里有一些其他有用的(相关的)控制台命令:
显示所有可能显示滚动条的容器(由用户 A1rPun 提供):
[...document.querySelectorAll('*')].filter(x => x.clientHeight < x.scrollHeight)
显示所有滚动条大于 150px 的容器:
[...document.querySelectorAll('*')].filter(x => x.scrollHeight > 150)