CSS:多色页脚背景问题

时间:2012-06-28 07:48:06

标签: css

我无法正确设置页脚。我有一个底部导航栏作为我的页脚的一部分工作正常(颜色:#7A7A7A)。问题在于随后的版权信息。它有一个地址和电话号码。我希望页脚的这一面有一个黑色的bakcground(#000)。这部分在copyRight下的css中标记,我没有得到任何结果。任何可能出错的想法?​​

这是我的Live EXAMPLE。 谢谢

CSS

html, body {
    margin:0;
    padding:0;
    height:100%; /* needed for container min-height */
    background:#333333;
    font-family: trebuchet, 'trebuchet ms', 'tahoma', sans-serif;
    font-size:small;
    color:#5e5e5e;
    line-height: 130%;
}


/****** COLORBLOCK: this is the orangey-yellow bar behind the wrapper in the background. ******/

#colorblock {
    position: absolute;
    top: 60px;
    left: 0px;
    background: #c69a55;
    z-index: 0;
    height: 65px;
    width: 100%;
    padding: 0px;
    margin: 0px;
}

/**************************************************/



div#container {
    position:relative; /* needed for footer positioning*/
    margin:0 auto; /* center, not in IE5 */
    width:925px;
    background:#f0f0f0;
    height:auto !important; /* real browsers */
    height:100%; /* IE6: treaded as min-height*/
    min-height:100%; /* real browsers */
    border-right: 15px solid #000000;
    border-left: 15px solid #000000;

}

div#contentArea {
    padding:1em 1em 5em; /* bottom padding for footer */

}
    div#contentArea p {
        text-align:justify;
        padding:0 1em;
    }

#content {
    margin-left: 240px;
    margin-right: 0 auto;
    background: #ebebeb;
    padding: 5px;
    width:635px;
    height: 400px;

}

/****** TOP BANNER: This is the banner with Greg's List logo and main navigation. Also includes the styles for the main navigation links. ******/
div#header {
    /*padding:1em;*/
    height: 175px;
    border-top:15px solid #000000;

}
    div#header p {
        margin:0;
    }



/****** LEFT COLUMN: This is the left gray column next to the content. Features the styling for the log-in form and the location links. ******/

#left2 {
    float: left;
    width: 200px;
    background: #dddddd;
    -moz-border-radius: 10px;
    border-radius: 10px;
    margin-right: 15px;
    padding: 5px;
    height: 400px;
}


/****** FOOTER: This is the junk at the bottom of the page. Do NOT remove the clear div; it's what makes it stick to the bottom. ******/


div#footer {
    position:absolute;
    width:100%;
    bottom:0; /* stick to bottom */
    background:#7A7A7A;
    border-bottom:15px solid #000000;
}
    div#footer p {
        padding:1em;
        margin:0;
    }

a.footer {
    color: #c7c7c7;
    font-size: 80%;
    padding-right: 20px;
    letter-spacing: 1px;
}   


p { 
    margin:0 0 1em;
}   

#copyRight{
 background:#000;   
 color: #FFF;
 font-size: 75%;
 bottom: 0;


}

.left{float:left;}
.right{float:right;}



</style>

3 个答案:

答案 0 :(得分:1)

您正在浮动#copyRight的内容,因此需要浮动才能正确包含它们。将其添加到#copyRight:

float: left;
width: 100%;

Read Brilliand detailed explanation below

答案 1 :(得分:1)

overflow:hidden

中添加#copyRight

所以你的CSS应该是这样的:

#copyRight{
    background:#000;   
    color: #FFF;
    font-size: 75%;
    bottom: 0;
    overflow:hidden
}

答案 2 :(得分:1)

您遇到的问题是大多数元素(包括div)默认情况下不会展开以包含浮动元素。由于copyRight内的所有内容都是浮动的,因此它的行为似乎是空的,并且缩小为空。

有许多方法可以扩展元素以包含浮动元素。我个人最喜欢的是将overflow设置为几乎任何东西 - hidden是最常见的。

#copyRight{
    overflow: hidden;
}

另一种方法是使包含元素也浮动,但它可能会导致尝试包含它的元素出现同样的问题。此外,浮动会导致收缩包装,因此您必须设置显式宽度:

#copyRight{
    float: left;
    width: 100%;
}

使用各种display声明可以实现类似的结果,例如display: inline-block。这样可以避免将问题传播到父元素:

#copyRight{
    display: inline-block;
    width: 100%;
}

显然早在2004年,通过inserting a clearing element with the :after pseudo-class而不是添加<div style="clear:both;"></div>的旧方法来解决此类问题被认为是一个很好的新想法。这些技巧也可以解决你的问题,虽然清除浮动并包含它们并不完全相同。