【问题标题】:Floating divs background color does not reach till page end浮动 divs 背景颜色直到页面结束才达到
【发布时间】:2014-03-31 19:44:18
【问题描述】:

我在显示 2 个具有单独背景颜色的浮动 div 时遇到问题。

所以顶部元素是我的标题。下面应该有一个导航和一个主 div。

它们的背景颜色不同,默认颜色应该显示到页面末尾(即使div之间的文本长度不同)。

为了更好的解释,我做了一个 jsfiddle 演示。您可以单击导航 div 和主 div 以显示更多文本。

演示:http://jsfiddle.net/AfRH2/22/

HTML:

<section id="admin_header">

</section>

<section id="admin_main">
    <!-- Navigation -->
    <nav id="nav">
       text
    </nav>

    <!-- Content -->
    <article id="main">
        text
    </article>

    <div style="clear: both"></div>
</section>

CSS:

body { 
    font-size: 12px;
    height: 100%;
}

#admin_header {
    position: relative;
    height: 100px;
    background-color: #000000;
}

#admin_main {
    position: relative;
    min-height: 100%;
}

#nav {
    position: absolute;
    width: 160px;
    float: left;
    top: 0;
    left: 0;
    margin: 5px 0 0 0;
    background-color: #f5f4f2;
}

#main {
    position: absolute;
    float: left;
    top: 0;
    right: 0;
    left: 160px;
    margin: 5px 0 0 0;
    padding: 20px;
    background-color: #f9f9f9;
}

p { display: none; }

【问题讨论】:

标签: css html


【解决方案1】:

您的包含部分 admin_main 没有高度,因此导航只使用所需的高度。将高度添加到 admin_main 解决。

html,body { 
    font-family: sans-serif;
    font-size: 12px;
    height: 100%;
}

#admin_main {
    position: relative;
    height: 100%
}

看这里——http://jsfiddle.net/7M4Ek/

【讨论】:

  • 请解释否决票。该解决方案有效,那么问题是什么?
  • 它真的不起作用。尝试展开“文本”内容,您会看到侧栏没有一直向下延伸。底部还有额外的间距,这使得滚动条即使在不应该出现的情况下也会出现,因为没有足够的内容
  • @onetrickpony 感谢您指出这些问题。我可以看到你的作品完美,但我不明白为什么?你能解释一下吗?我还没有看到它以这种方式接近。
  • 我没有改变任何高度。要绘制列,我只是在 body 元素上应用渐变背景,默认情况下一直延伸到底部。请参阅链接的 Q,它被称为“假列”,因为它们不是真正的列。也可以通过 flexboxes 实现这一点
  • @onetrickpony 谢谢,我会看看那些进一步澄清。
猜你喜欢
  • 2015-09-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-15
相关资源
最近更新 更多