原理
设置一个块级作用域溢出的效果,只需要在外部块的位置上设置overflow:scroll和height:xx即可。
此时,块级作用域的内容位移超出外部块的位移就会出现滚动条,当内部块滚动时,我们能看到滚动效果。这里的实现方式有二种,对父元素(简称外部块)进行设置(top:0和bottom:0)能固定滚动区域,还有一种设置父元素的高度height:xx来完成滚动效果。
如果你看到的滚动条是浏览器边缘的滚动条,那么说明没有绑定scroll滚动事件。
以往,我们使用他是为了不让文本内容暴露出来,把子元素和父元素的资源隔绝开来,通过一个端口访问包含的数据内容。一般要加载数据时会使用这个方法,用户鼠标滚动到相应的位置才会去同步加载数据,如一个页面的list列表数据从后台获取,通过ajax更新数据同步到html上。还有滚动绑定事件的作用,这就是视觉交叉的功能。
滚动事件
overflow滚动包含overflow-x 和overflow-y 以及overflow直接滚动多余的部分,不过水平滚动和垂直滚动的效果不同,我们可以根据滚动的width宽和height高的大小来做不同的滚动事件处理。
三个关键
overflow滚动的事件处理,在css上要写三个关键因素,一为position:absolute,二为overflow:scroll,三为top:位移,bottom:位移(或height固定),如果我们在组件上调用其他事件时,使用到overflow滚动的效果,就会让组件变得更加丰富多彩。
结尾
如果你忘了设置overflow:scroll和高度height或top和bottom,你可能会一直在这个地方绕弯路,所以为了避免出现滚动绑定事件,我们需要设置overflow和位移量。