css – 使DIV垂直填充剩余的页面?

前端之家收集整理的这篇文章主要介绍了css – 使DIV垂直填充剩余的页面?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个Google地图应用占据了大部分页面。但是,我需要为菜单栏保留最顶部的空间。如何使地图div自动填充其垂直空间? height:100%不工作,因为顶部栏会将地图推过页面底部
  1. +--------------------------------+
  2. | top bar (n units tall) |
  3. |================================|
  4. | ^ |
  5. | | |
  6. | div |
  7. | (100%-n units tall) |
  8. | | |
  9. | v |
  10. +--------------------------------+

解决方法

您可以使用绝对定位。

HTML

  1. <div id="content">
  2. <div id="header">
  3. Header
  4. </div>
  5. This is where the content starts.
  6. </div>

CSS

  1. BODY
  2. {
  3. margin: 0;
  4. padding: 0;
  5. }
  6. #content
  7. {
  8. border: 3px solid #971111;
  9. position: absolute;
  10. top: 0;
  11. right: 0;
  12. bottom: 0;
  13. left: 0;
  14. background-color: #DDD;
  15. padding-top: 85px;
  16. }
  17. #header
  18. {
  19. border: 2px solid #279895;
  20. background-color: #FFF;
  21. height: 75px;
  22. position: absolute;
  23. top: 0;
  24. left: 0;
  25. right: 0;
  26. }

通过绝对定位#content并指定top,right,bottom和left属性,你会得到一个div来占据整个视口。

然后,您在#content上设置padding-top为> = #header的高度。

最后,将#header放在#content内,并绝对定位(指定顶部,左侧,右侧和高度)。

我不知道如何浏览器友好这是。查看this article at A List Apart了解更多信息。

猜你在找的CSS相关文章