HTML – 在父Div的底部推页脚

前端之家收集整理的这篇文章主要介绍了HTML – 在父Div的底部推页脚前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我有一个简单的布局,我在父Div中有两个Div. [See this.]
我想要实现的是,第一个子div必须占用容器中的所有可用空间[有或没有内容],强制在父Div底部的页脚.只要这必须起作用.因此,当主容器调整大小时,第一个子div仍占用可用空间,而页脚必须保留在父Div的底部.

到目前为止我尝试的是做位置:绝对;底部:0;页脚和是,页脚将坚持到底部但第一个子div(.content)不会占用其他剩余空格.

可能吗?.请帮忙.谢谢.

HTML:

CSS:

  1. .main {
  2. height: 500px;
  3. background: #000;
  4. }
  5. .content {
  6. padding: 5px 10px;
  7. background: #fff;
  8. border: red solid 1px;
  9. }
  10. .footer {
  11. padding: 5px 10px;
  12. text-align: center;
  13. background: #eee;
  14. }
  15. .content,.footer {
  16. display: block;
  17. }
最佳答案
并非每个人的回答都考虑了您的请求,即解决方案是响应式的(我假设您的意思是可扩展).如果页脚的高度可以变化,那么解决方案很简单:

  1. .main {
  2. height: 500px;
  3. position: relative;
  4. }
  5. .content {
  6. height: 90%;
  7. }
  8. .footer {
  9. bottom: 0;
  10. height: 10%;
  11. position: absolute;
  12. width: 100%;
  13. }

如果页脚必须是固定高度,解决方案仍然非常简单,但不再具有出色的浏览器支持

  1. .main {
  2. height: 500px;
  3. position: relative;
  4. }
  5. .content {
  6. height: calc(100% - 50px);
  7. }
  8. .footer {
  9. bottom: 0;
  10. height: 50px;
  11. position: absolute;
  12. width: 100%;
  13. }

注意:Content-Box(默认元素大小调整方法)将边距等内容添加到您指定的大小.如果您以像素为单位表示大小,那只是一个小麻烦 – 您只需从您指定的大小中减去边框/边距/等.如果你使用百分比来反应性地构建……那就太乱了.您需要应用Border-Box,它会根据您指定的尺寸减去边距等内容.

  1. * {
  2. Box-sizing: border-Box;
  3. -moz-Box-sizing: border-Box;
  4. -webkit-Box-sizing: border-Box;
  5. }

猜你在找的HTML相关文章