欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

CSS布局中,内容溢出了,为什么给body设置了overflow属性也不行?_html/css_WEB-ITnose

程序员文章站 2022-04-08 08:47:23
...
上面的绿色区域超出了页面,给body设置overflow:scroll;

结果是下面这样,滚动条只是外观上出来了,但是不能滚动,这是为神马?



新手求指导~


回复讨论(解决方案)

你应该给body设置定高,不然如果内容没有超出可视区的高度,自然不会滚动,你可以改变窗口的大小来看效果

你应该给body设置定高,不然如果内容没有超出可视区的高度,自然不会滚动,你可以改变窗口的大小来看效果
确实,一开始,我给BODY的HEIGHT设置了100%,所以没有作用,现在让它超出100%就能滑动了。但是我的每个div的height都是用百分数设置的,为什么改变了body的height之后,他们的高度都没发生变化呢?

我明白我错哪了:
我一开始给页面每个div用的position:absolute来布局,所以给body设置height:150%的时候对div没有高度变化的影响。但是用这种方式布局必须设置每一个div的left和top,而且改动上面的div会导致下面的数据必须跟着变。更麻烦的是left和top在用百分数的时候,随着浏览器的放大缩小,元素的位置很不稳定。

改用对部分元素float,部分元素调整margin的方法来布局,当内容超出页面的时候无论设置不设置overflow页面都会自动加上滚动条,这又是为什么?

body 本身就是有内容撑开高度的,既然超出了可视区的高,自然会出现滚动条.

body 本身就是有内容撑开高度的,既然超出了可视区的高,自然会出现滚动条.
明白了,谢谢!