html – 如何让一个div伸展到一个固定的页脚

前端之家收集整理的这篇文章主要介绍了html – 如何让一个div伸展到一个固定的页脚前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我希望我的设计的两个部分(见附图)扩展页面的整个高度.我试图创建一个小提琴,但它不会在那里工作,所以 I’ve put up a link here to demo what I mean.

我把div的高度设置为100%.但是,它不会伸展到固定的页脚.

  1. #found-results {
  2. height: 100%px;
  3. margin-bottom: 50px;
  4. background: #CCC;
  5. }

我也想要绿色的盒子伸展到页脚. CSS是:

  1. .main {
  2. width: 606px;
  3. float: left;
  4. padding: 15px 0 0 16px;
  5. position: absolute;
  6. background: green;
  7. margin-left: 383px;
  8. }

现在,如果我添加高度:100%;对它来说,它似乎起作用,但是如果其中一个选项卡包含很多文本,那么它的扩展性就不够了.

任何帮助将不胜感激.

解决方法

等高列

在某种程度上,棘手的部分不是固定的页眉和页脚,或100%的高度;棘手的部分是等高列.通常,假冒等高列(例如,将grey-green background image添加到父容器)最好.与真实的等高列相比,这样做通常允许代码更简单,更灵活,更稳定.如果这个网站的布局过于笨拙,请尝试伪装等高列(如demo所示),看看是否有助于布局变得更易于管理.

据说,真正的等高列的基本选择如下:

> HTML表
> CSS tables
> CSS3 flexbox
> CSS3 grids
> JavaScript或jQuery

这是一个使用CSS表的真正等高列的JSFiddle demo.左列具有非常高的内容,右列具有较少的内容.在IE10,Firefox,Chrome,Safari和Opera中,该演示测试正常;然而,这可能仅适用于相对简单的布局.

这是一个similar demo using HTML tables,万一需要支持IE8.

伪造等高列

这是another demo,通过添加一个2-color background image来制作等高列.该演示在IE10,Safari和Opera中测试也很好.然而,与以前的版本不同,它更有可能支持复杂的页面布局.

HTML

  1. <div id="header">...</div>
  2. <div id="content" class="clearfix">
  3. <div class="column1">...</div>
  4. <div class="column2">...</div>
  5. </div>
  6. <div id="footer">...</div>

CSS

  1. html,body {
  2. height: 100%;
  3. ...
  4. }
  5. #header {
  6. position: fixed;
  7. top: 0;
  8. height: 120px;
  9. ...
  10. }
  11. #footer {
  12. position: fixed;
  13. bottom: 0;
  14. height: 60px;
  15. ...
  16. }
  17. #content {
  18. min-height: 100%;
  19. padding: 120px 0 60px 0;
  20. -webkit-Box-sizing: border-Box;
  21. -moz-Box-sizing: border-Box;
  22. Box-sizing: border-Box;
  23. background: url(some-two-color-background.png) repeat-y 53.6% top;
  24. ...
  25. }
  26. #content .column1 {
  27. float: left;
  28. width: 250px;
  29. }
  30. #content .column2 {
  31. float: left;
  32. width: 350px;
  33. }

注意:通过设置background-position属性来控制背景图像的明显列宽.这允许使用相同的通用背景图像来伪造任何显式宽度(px或%)的两列.或者,可以使用具有精确列大小的自定义背景图像来简化CSS.

猜你在找的HTML相关文章