代码之家  ›  专栏  ›  技术社区  ›  Beep beep

使用CSS的等高列和页脚?

  •  1
  • Beep beep  · 技术社区  · 16 年前

    我正在创建一个业务应用程序,它有一个可变宽度的边栏和内容区域,以及一个页脚。对于我来说,无论边栏的高度如何,我都无法理解如何使用CSS使页脚始终正确显示。下面是这个问题的一个例子:

    alt text

    如果内容区域大于侧边栏,则页脚和侧边栏很好,但不是相反(即 faux columns 技术似乎不适用于页脚,并且 equal height with footer 技术似乎只在侧边栏较短的情况下起作用)。

    有什么建议吗?我在这里找到了一个只适用于IE6的答案,但除了使用CSS之外,没有其他任何方法。我很想让我的生活变得简单并使用表格,但不管怎样,我都想知道如何使用CSS(一点javascript不会有什么影响,但是w/o更好)。

    5 回复  |  直到 16 年前
        1
  •  3
  •   Ben Blank Jarret Hardie    16 年前

    一种方法是对列使用非常大的值 padding-bottom 和一个同样大的 消极的 价值观 margin-bottom . 如下所示:

    #container {
        overflow: hidden;
    }
    
    #container .column {
        padding-bottom: 20010px;  /* X + padding-bottom */
        margin-bottom: -20000px;  /* X */
    }
    
    #footer {
        position: relative;
    }
    

    我所看到的方法的最佳描述是 "One True Layout" 文章对 Position is Everything . (不要忘记查看 potential problems 文章也是如此。)

        2
  •  1
  •   robertc    16 年前

    如果侧边栏和主要内容都浮动,则将 clear: both; 在页脚的规则中应该意味着它总是被下推- see this two column layout tutorial on 456 Berea Street 了解更多详细信息。如果你的侧边栏是绝对定位的,那么你可能会有更多的乐趣, here's a good resource for other layouts .

        3
  •  0
  •   schubySteve    16 年前

    唯一解决这个问题的方法是使用一些JS计算侧边栏和内容区域的高度,然后使它们相等。调用JS函数onload。如果你能找到更好的解决方案,请告诉我。

        4
  •  0
  •   Andrew Noyes    16 年前

    This 可能是你想要的。我使用了类似于您的布局,并使用了这个解决方案,经过一些修改,使它不仅遵守内容高度,而且遵守侧边栏高度。

        5
  •  0
  •   zeroDivisible    16 年前

    还有另一个选择-它是跨浏览器,没有任何黑客-检查 equal height columns