2010-04-14 85 views
4

在这种情况下,我为此Web应用程序开发了一个CSS代码..并且有时生成的数据太小,页脚的网站出现在页面中间,看起来很奇怪。如何让短内容页面到达浏览器窗口底部,然后出现页脚

我想将背景的空白部分推到浏览器底部,然后是页脚。如果页面很长,那么文本不会被页脚重叠。

有人能帮我解决这个代码吗?

我一直在尝试用一些我这个网页上找到的代码:http://matthewjamestaylor.com/blog/keeping-footers-at-the-bottom-of-the-page其中谈到了几乎同样的问题,但我不能把它完全做到:
我在做什么错?

@charset "utf-8"; 
body { 
    margin: 0; 
    padding: 0; 
    text-align: center; 
    height:100%; 
    position: relative; 
    height:100%; /* needed for container min-height */ 
    } 
.spacer { 
    clear: both; 
    height: 0; 
    margin: 0; 
    padding: 0; 
    font-size: 0.1em; 
} 
.spacer_left { 
    clear: left; 
    margin: 0 0 10px 0; 
    padding: 0; 
    font-size: 0.1em; 
} 
hr { 
    height: 1px; 
    margin: 20px 0 20px 0; 
    border: 0; 
    color: #ccc; 
    background: #ccc; 
} 
#container { 
    position:relative; /* needed for footer positioning*/ 
    height:auto !important; /* real browsers */ 
    height:100%; /* IE6: treaded as min-height*/ 
    min-height:100%; /* real browsers */ 

    width: 1160px; /* width of the site ! */ 
    margin: 0 auto; 
    padding: 0; 
    border: 1px solid #333; 
    text-align: left; 
} 
/* Context Bar */ 
h1#contexto { 
    background:url('../images/menubarbg2.png'); 
    width:1160px; 
    height:30px; 
    position:relative; 
    margin-top:10px; 
    visibility: inherit; 
    font-family:Arial, Helvetica, sans-serif; 
    font-size:12px; 
} 
#header { 
    margin: 0; 
    padding: 5px; 
    height:70px; 
} 
h1#titulo { 
    margin: 0; 
    padding: 0 0 0; 

} 
#content { 

margin: -15px 20px 0 20px; 
/*padding: -6px 5px 20px 5px;*/ 
padding:1em 1em 5em; /* bottom padding for footer */ 

} 
div#content.columns { 
    margin-left: 100px; 
} 
#content abbr, #content acronym { 
    cursor: help; 
    border-bottom: 1px dotted; 
} 
#content ul { 
    list-style-type: square; 
} 
#content ul li, #content ol li { 
    margin: 0 0 0.4em 0; 
    padding: 0; 
} 
#content blockquote { 
    width: 75%; 
    margin: 0 auto; 
    padding: 20px; 
} 

#footer 
{ 
margin: 0; 
height: -30px; 
padding: 5px; 
clear: both; 
bottom:0; 
position:relative; 
} 

UPDATE:解决方案

@charset "utf-8"; 
body, html { 
    margin: 0; 
    padding: 0; 
    text-align: center; 
    position: relative; 
    height:100%; /* needed for footer positioning*/ 
} 
.spacer { 
    clear: both; 
    height: 0; 
    margin: 0; 
    padding: 0; 
    font-size: 0.1em; 
} 
.spacer_left { 
    clear: left; 
    margin: 0 0 10px 0; 
    padding: 0; 
    font-size: 0.1em; 
} 
hr { 
    height: 1px; 
    margin: 20px 0 20px 0; 
    border: 0; 
    color: #ccc; 
    background: #ccc; 
} 
#container { 
    position:relative; /* needed for footer positioning*/ 
    min-height: 100%;/* needed for footer positioning*/ 
    height: auto !important;/* needed for footer positioning*/ 
    height: 100%;/* needed for footer positioning*/ 
    margin: 0 auto -30px;/* needed for footer positioning*/ 
    width: 1160px; 
    padding: 0; 
    border: 1px solid #333; 
    text-align: left; 
} 
#header { 
    margin: 0; 
    padding: 5px; 
    height:70px; 
} 
h1#titulo { 
    margin: 0; 
    padding: 0 0 0; 
} 
h1#contexto { 
    background:url('../images/menubarbg2.png'); 
    width:1160px; 
    height:30px; 
    position:relative; 
    margin-top:10px; 
    visibility: inherit; 
    font-family:Arial, Helvetica, sans-serif; 
    font-size:12px; 
} 
#content { 
    margin: -15px 20px 30px 20px; /* needed for footer positioning*/ 
} 
div#content.columns { 
    margin-left: 100px; 
} 
#content abbr, #content acronym { 
    cursor: help; 
    border-bottom: 1px dotted; 
} 
#content ul { 
    list-style-type: square; 
} 
#content ul li, #content ol li { 
    margin: 0 0 0.4em 0; 
    padding: 0; 
} 
#content blockquote { 
    width: 75%; 
    margin: 0 auto; 
    padding: 20px; 
} 
#footer, .push /* needed for footer positioning*/ { 
    padding: 5px; 
    clear: both; 
    position:absolute;/* needed for footer positioning*/ 
    bottom:0;/* needed for footer positioning*/ 
    height: -30px;/* needed for footer positioning*/ 
    width:1150px; 
} 
+0

请仔细阅读在这个非常职位的更新。代码的修正已经完成,它的工作原理,所以我在这里发布,以防万一任何人想看到旧的CSS和修复之间的区别。 感谢用户Yongho和Ricebowl的帮助。 – UXdesigner 2010-04-14 15:37:32

回答

1

您可以通过具有车身高度等于浏览器窗口的高度获得了“粘页脚”(即:设置高度为100 %),然后强制页脚位于浏览器窗口的任何高度的底部。

CSS:

body { 
    height: 100%; 
    position: relative; 
} 

#footer { 
position:absolute; 
bottom:0; 
height:60px; 
background:#ccc; 
} 

HTML:

<html><body> 

text here text here 

<div id="footer"> 
    Im in the footer and bottom of the page! 
</div> 

</body></html> 
+0

嗯,我不知道如何。但我只是编辑了一下我的代码,它的工作,与您的建议。看起来这是我之前做的同样的事情,但由于某种原因没有奏效。感谢您的热心帮助。不胜感激。 – UXdesigner 2010-04-14 14:56:17

+1

我有一段时间没有尝试过thiS方法,但是从内存中 - 它可能是一个文档类型的问题 - 我似乎记得这导致页脚始终在屏幕上,但也重叠溢出的内容滚动时浏览器的下边框。虽然我不是低调投票,因为我无法确定。 – 2010-04-14 15:07:56

+0

我猜,你可以解决身体上填充底部的重叠问题。但是,您希望将页脚压低到内容的底部,在滚动条的下方......我对如何获得该信息没有信心,但也许使用最小高度而非高度。 – ANeves 2010-04-14 15:54:50

相关问题