3

我有一个具有以下基本结构的站点。这个站点应该有一个白色的背景,一个出现一次的图像,但它只是从html{ }CSS 中的声明中继承颜色。应该具有背景的元素下方的所有元素都是透明的,即使正在添加背景(在 Firebug 中检查),它似乎也低于html{ }.

这只是在我overflow: none;#content-container中删除声明后才发生的,和以前一样。但是,我需要删除它,因为站点发生的更改需要导航菜单具有下拉菜单,因此下面的容器必须允许溢出。

发生这种情况是否有特定的 CSS 原因?或者我需要提供什么其他东西才能让某人能够提供帮助?谢谢。

<div id="main-container">

    <div id="header-container">
        <div id="header-top">
            {Code}
        </div>

        <div id="header-middle">
            {Code}
        </div>

        <div id="header-nav">
            {Code}        
        </div>
    </div>

    <div id="content-container">
        <div id="content-left" class="index">  
            {Code}
        </div>

        <div id="content-right">
            {Code}
        </div>
    </div>

    <div id="footer-container">
        {Code}
    </div>

</div>
4

1 回答 1

4

我猜这#content-left#content-right元素是浮动的?在这种情况下,overflow: noneon#content-container会导致元素self-clear。没有这个,元素将没有高度,因为其中的所有元素都是浮动的,因此无法计算容器的高度。

如果必须使用overflow: visible,解决方法是将 adiv放在包含元素的末尾,并clear: both在其上设置:

<div id="content-container">
    <div id="content-left" class="index">  
        {Code}
    </div>

    <div id="content-right">
        {Code}
    </div>

    <div class="clear"></div>
</div>
.clear { clear: both; }
于 2012-04-26T08:43:21.703 回答