代码之家  ›  专栏  ›  技术社区  ›  Stian

CSS-出现在DIV之外的内容

  •  1
  • Stian  · 技术社区  · 15 年前

    我的网页有点问题。一张图片可能描述得最好,所以这里是:

    http://a.imageshack.us/img837/8223/skjermbilde20100902kl18.png

    底部的文本应该在白色区域内。我希望白色的DIV根据内容改变高度。我有一个分区,中间是白色区域:

    #mainContainer {
      margin-left: auto;
      margin-right: auto;
      margin-top: 20px;
      width: 800px;
      min-height: 700px;
      height: 100%;
    }
    

    我还将html和body设置为100%。但问题是,无论有多少内容,DIV都保持在100%。当我把高度设为 auto :

    http://a.imageshack.us/img837/8295/skjermbilde20100902kl18y.png

    这就是它应该看起来的样子(使用高度:100%看它是什么样子):

    http://a.imageshack.us/img837/7112/skjermbilde20100902kl18b.png

    The full page can be found here (点击“om oss”查看文本错误的页面)

    如果有人能找出问题所在,我会非常感激的!-)
    (希望CSS和HTML易于理解)

    编辑: 我只是注意到它在Safari中呈现得很好,但在Firefox中却没有。

    2 回复  |  直到 15 年前
        1
  •  3
  •   Doug    15 年前

    你给了HTML和Body 100%的高度。(许多儿童沙发也有100%的高度。) 这意味着它们是 视口 不是内容。低,它们受浏览器窗口高度的限制,任何延伸低于此高度的内容都将超出应用的任何背景。

    编辑: 为了进一步详细说明,您已经在尝试使用高度100%拉伸的空分隔带的左侧和右侧设置了背景图像(放置阴影),但由于它们不包含任何内容,因此它们只能是父元素的高度,而父元素本身就是veiwport的高度。当您将html和body(或任何其他中间元素)设置为height:auto时,这些div(maincontainer middle-left和-right)将折叠到其内容的大小,而这不是什么。

    您可能应该重新配置HTML,使这些元素成为实际内容的父元素,并去掉所有“height:100%”语句。他们不是你想的意思!

        2
  •  0
  •   Adam    15 年前

    Stian

    对于DIV主容器,将高度设置为自动。

    对于DIV主容器中间,将高度设置为550px。

    这样可以解决布局问题。