【发布时间】:2018-04-05 16:16:15
【问题描述】:
我有一个固定高度的容器 div。它有一些内容和另一个子元素。我希望子元素在填充剩余高度时滚动。
我想出了一个似乎可行的解决方案,但我不确定它是否正确。
<style type="text/css">
#container {height: 100px; width: 100px; border: solid; }
#titlebar { background: gray;}
#app-body {height: 100px; overflow: auto; background: lightblue;}
</style>
工作fiddle。 编辑:更新小提琴以删除样式标签。
有没有更好的方法?我不喜欢在子 div 中重述容器高度。
【问题讨论】:
-
你的小提琴坏了。
<style>标签不应进入 CSS 面板。 -
事实上,你的 CSS 渲染得更糟:jsfiddle.net/millimoose/6VKUt
-
无论如何,我认为你别无选择。
overflow根本不会在没有限制大小的元素上做任何事情,而且我不确定在 CSS 中是否有办法说“剩余空间的 100%”。 (没有使用 flexbox 或表格。)经验法则是 CSS 在使用垂直空间方面很糟糕。 -
一个不幸的是不可行的 flexbox 解决方案:jsfiddle.net/millimoose/6VKUt/1。 (我的建议是放弃并使用表格,直到 CSS 不再适用于非基于列的网格的布局。)
-
谢谢。如果可以的话,我会将该 flexbox 解决方案标记为可接受的答案。
标签: css