我已经搜索并尝试了多个修复程序(我在堆栈溢出时找到了大部分修复程序,还有一些来自其他网站,如CSS Tricks和matthewjamestaylor.com),但没有任何对我有用。 (固定位置有效,但不是一种选择。)我需要将页脚留在底部,但现在它位于中间。
在这个阶段,我假设我的编码中的某些内容对我起作用,但我也尝试删除样式/ div,它仍让我感到困惑。也许我只需要一个全新的视角。
The JSFiddle code is here. The FULL JSFiddle code is here.(如果有人需要的话)
提前致谢!
#footer {
position:absolute;
bottom:0px;
width:100%;
height: 130px;
-webkit-box-shadow: inset 0 20px 20px -20px rgba(0,0,0,0.8);
-moz-box-shadow: inset 0 20px 20px -20px rgba(0,0,0,0.8);
box-shadow: inset 0 20px 20px -20px rgba(0,0,0,0.8);
font: bold 18px/1.2em sans-serif;
z-index: 400;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
background-attachment: fixed;
background-image: url(http://informationsecured.com/chapelhill/images/background-green.jpg);
background-repeat: no-repeat;
background-position: center top;}
答案 0 :(得分:1)
使用大量绝对位置进行布局通常是一个坏主意。你失去了让浏览器对与其内容相关的元素高度进行繁重工作的机会。
要让#footer保持在最底层,我们需要做一些事情:
body
不应该height: 100%;
。否则,相对于底部的每个元素将相对于浏览器窗口的可见内容的高度定位(看起来像position: fixed;
,直到您滚动然后元素随内容移动)。#wrapper
不应该position: absolute;
。我们不知道它的最终高度,所以最好将它保持相对,以帮助将页脚放在它下面。作为一般准则;如果您正在计算像素值偏移量以防止元素相互叠加,那么您可能会做错事。
答案 1 :(得分:0)
位置:固定是正确的解决方案(我假设你的意思是一个始终可见的页脚)。你有什么理由不能使用它吗?
如果你真的不能,那么我很确定需要使用javascript。
答案 2 :(得分:0)
我总是使用一个网站来将页脚粘到底部。它还为您提供了所需的所有管道胶带!
他们的网站上有相关信息。我没有附上代码,因为这个问题在SO上已被问过太多次了,而且我觉得网上有足够的资源用于这些事情。