<分区>
标签 css
<分区>
我之前问过以下关于堆栈溢出的问题: create a scroll bar in a sidebar
基本上我是在尝试创建一个侧边栏。在那个侧边栏中,我想要一个未知大小的页眉和一个未知大小的页脚。在侧边栏的页脚和页眉之间,我想要一个包含一长串内容的滚动 div。在上面的问题中,我问的是如何使用 css 使滚动的 div 填充页眉和页脚之间的空间。
我得到了很多答案,比如: “选择器如何知道另一个元素的高度?这不是 CSS 的用途。”
现在我的问题是,为什么你不能这样做是 css?为什么 css 不允许你设置两个 div 占用尽可能多的空间,而中间的 div 填充剩余的空间?这不是一个需要解决的常见问题吗?
最佳答案
您可以在 CSS 中做到这一点,只是没有像您希望的那样得到支持。使用 CSS calc
函数,您可以按照您描述的方式分配动态值。
您将从#sidebar 中删除overflow: hidden
,并在#main 中使用calc 函数分配高度,类似于:
高度:计算(100% - 30px);
最大的缺点是 calc
不受所有浏览器的支持,最重要的是,当前稳定版本的 Chrome。但是,它在 webkit 前缀下的 Chrome 19 中可用(因此很快就会可用)。同样,它在 Firefox 上位于 moz 前缀下。 IE9 也支持它。
关于css - 为什么 css 不允许元素改变大小来填满屏幕?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10120868/