中间相对分区外的绝对底部

时间:2014-06-13 17:34:15

标签: css absolute

我已经搜索并尝试了多个修复程序(我在堆栈溢出时找到了大部分修复程序,还有一些来自其他网站,如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;}

3 个答案:

答案 0 :(得分:1)

使用大量绝对位置进行布局通常是一个坏主意。你失去了让浏览器对与其内容相关的元素高度进行繁重工作的机会。

要让#footer保持在最底层,我们需要做一些事情:

  • body不应该height: 100%;。否则,相对于底部的每个元素将相对于浏览器窗口的可见内容的高度定位(看起来像position: fixed;,直到您滚动然后元素随内容移动)。
  • #wrapper不应该position: absolute;。我们不知道它的最终高度,所以最好将它保持相对,以帮助将页脚放在它下面。

作为一般准则;如果您正在计算像素值偏移量以防止元素相互叠加,那么您可能会做错事。

jsFiddle

答案 1 :(得分:0)

位置:固定是正确的解决方案(我假设你的意思是一个始终可见的页脚)。你有什么理由不能使用它吗?

如果你真的不能,那么我很确定需要使用javascript。

答案 2 :(得分:0)

我总是使用一个网站来将页脚粘到底部。它还为您提供了所需的所有管道胶带!

http://cssstickyfooter.com/

他们的网站上有相关信息。我没有附上代码,因为这个问题在SO上已被问过太多次了,而且我觉得网上有足够的资源用于这些事情。