把以下代码复制粘贴到浏览器 Console 面板,敲一下回车:
function findscroller(element){
element.onscroll=function () {
console.log(element)
}
Array.from(element.children).forEach(findscroller)
}
findscroller(document.body)
复制到 Console 面板:
滑动你项目的内容,会看到以下的数据:
此时你鼠标经过以上的数据会显示是你整个body
对于使用v-if动态渲染的元素,可能获取不到,只需要动态渲染完之后,再次执行代码即可:
解决这个问题的方法就是一下操作
1.找到包裹数据的整个div,给他起一个class类名
2.在style中给这个类名一个 height 和 overflow-y
<style scoped lang="less">
.article-list {
height: 79vh;
overflow-y: auto;
}
</style>
- vh
vh是当前屏幕可见高度的1%,height:100vh == height:100%;
注意:当元素没有内容时候,设置height:100%该元素不会被撑开,但是设置height:100vh,该元素会被撑开,其高度与屏幕高度一致。 - vw
vw就是当前屏幕宽度的1%
注意:设置width:100%,被设置元素的宽度是按照父元素的宽度来设置,但是100vw是相对于屏幕可见宽度来设置的,所以会出现50vw 比50%大的情况
设置完成以后你会看到之前你body里面的数据会变成div