scrollIntoView 默认只会滚动节点最近的一级可滚动的容器,但是也有例外:
node.scrollIntoView({ block: "center" }); // 若外层有滚动条,则外层也会滚动
node.scrollIntoView({ block: "nearest" }); // 若外层有滚动条,外层不会滚动
所以,如果设置了 block: "center",在使用 API 滚动的时候,也有可能把祖先容器的内容 (即便设置为 overflow:hidden) 中的元素给顶出到屏幕之外。