如何让div占据剩余高度?
我有这个问题,我有两个div:
<div style="width:100%; height:50px;" id="div1"></div>
<div style="width:100%;" id="div2"></div>
如何让div2占据页面的剩余高度?
I have this problem, I have two divs:
<div style="width:100%; height:50px;" id="div1"></div>
<div style="width:100%;" id="div2"></div>
How do I make div2 occupy remaining height of the page?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(11)
使用绝对定位:
Use absolute positioning:
您可以使用这个http://jsfiddle.net/Victornpb/S8g4E/783/
只需申请类
.fill
到任何子级,然后占据剩余高度。它适用于您想要多少个孩子,不需要额外的标记。
You can use this http://jsfiddle.net/Victornpb/S8g4E/783/
Just apply the class
.fill
to any of the children to make then occupy the remaining height.It works with how many children you want, no additional markup is required.
Demo
一种方法是将 div 设置为
position:absolute
并给它一个顶部 50 像素,底部 0 像素;Demo
One way is to set the the div to
position:absolute
and give it a top of 50px and bottom of 0px;由于您知道之前的内容占用了多少像素,因此可以使用 calc() 函数:
Since you know how many pixels are occupied by the previous content, you can use the
calc()
function:我自己也面临着同样的挑战,并使用
flex
属性找到了这两个答案。CSS
I faced the same challenge myself and found these 2 answers using
flex
properties.CSS
您可以使用
CSS 属性,正如 @Ayan 之前提到的,但我创建了一个工作示例: https://jsfiddle。网/d2kjxd51/
You can use
CSS property, as mentioned before by @Ayan, but I've created a working example: https://jsfiddle.net/d2kjxd51/
使用 CSS 表,您可以在两个 div 周围包裹一个 div 并使用此 css/html 结构:
但是,取决于支持这些显示类型的浏览器。我认为IE8及以下版本不会。编辑:从头开始 - IE8 确实支持 CSS 表。
With CSS tables, you could wrap a div around the two you have there and use this css/html structure:
Depends on what browsers support these display types, however. I don't think IE8 and below do. EDIT: Scratch that-- IE8 does support CSS tables.
我尝试使用 CSS,或者您需要使用 display: table 或者您需要使用大多数浏览器(2016)尚不支持的新 css。
所以,我写了一个 jquery 插件来为我们做这件事,我很高兴分享它:
I tried with CSS, and or you need to use display: table or you need to use new css that is not yet supported on most browsers (2016).
So, I wrote a jquery plugin to do it for us, I am happy to share it:
您可以使用 calc 函数来计算第二个 div 的剩余高度。
You could use
calc
function to calculate remaining height for 2nd div.为什么不使用负边距的填充呢?像这样的事情:
然后
Why not use padding with negative margins? Something like this:
And then