【问题标题】:Sticky Footer (not sticking!)粘页脚(不粘!)
【发布时间】:2012-03-05 10:18:33
【问题描述】:

这里是新手编码器。我一直在尝试在我的网站上实现一个粘性页脚,但它根本不起作用。基本上,它是一个图像,上面有一些绝对定位的文本。这是我的网站:http://mc-airlines.hostei.com

如您所见,它绝对行不通!

我正在使用这个:http://ryanfait.com/resources/footer-stick-to-bottom-of-page/ 来做到这一点。这是与我网站页脚相关的代码:

* {
margin: 0;
}

body, html {
text-align:center;
border-width: 0px; 
margin:0;
padding:0;
height:100%;
}


#container{
position:relative;
margin: 0 auto -175px;
width:960px;
min-height:100%;
height: auto !important;
text-align:left;
}

#footer{
margin: 0 auto;
text-align:left;
width:960px;
height:175px;
}


#links {
font-family: 'HelveticaNeueRegular', Trebuchet MS, Verdana, sans-serif;
color:white;
font-size: 18px;
padding: 10px;
position: absolute;
bottom: 23px;
left: 0;
width: 300px;
}

#links2{
font-family: 'HelveticaNeueRegular', Trebuchet MS, Verdana, sans-serif;
color:white;
font-size: 18px;
padding: 10px;
position: absolute;
bottom: 10px;
left: 310px;
width: 420px;
}

还有我的html:

<div id="container">

<!-- (site content -->

<div class="push"></div>

</div>

<div id="footer">

<img src="images/footer.png" alt="footer" class="foot"/>

<div id="links">
<script type="text/javascript">copyright=new Date();
update=copyright.getFullYear();
document.write("&copy "+ update + " MC Airlines");</script><br>
<span class="psmall">
All content on this site belongs to MC Airlines and its subsidiaries, and may not be used without prior permission from Mr MC. Just kidding, he probably won't reply - just don't abuse it too much :) </span>
</div>

<div id="links2">
Other Links <br>
<span class="psmall">
&nbsp;&nbsp;&nbsp; <a href="">Our Partners</a><br>
&nbsp;&nbsp;&nbsp; <a href="">MC Airlines Thread</a><br>
&nbsp;&nbsp;&nbsp; <a href="">MC Airlines Wiki</a><br>
&nbsp;&nbsp;&nbsp; <a href="">Cyber Airlines</a><br></span>
<span class="pxsmall">
We can not be held responsible for the content on external sites. I mean c'mon, that's just unfair.
</span>
</div>

<!-- #footer close -->        
</div> 

如果有人能指出我做错了什么,我将不胜感激。

谢谢!

【问题讨论】:

    标签: css sticky-footer


    【解决方案1】:

    您发布的代码与您链接到的网站不匹配。我的 cmets 基于您的链接,而不是您在此处发布的代码。

    1. 将页脚移到#container div 之外。
    2. 将.push div 添加到#container div 的底部(页脚现在所在的位置)
    3. 将#footer 和.push 的css 规则添加到clear: both;

    【讨论】:

    • 嗯,这很奇怪,我确实添加了这些东西......也许我的编辑没有保存或其他东西:S 无论如何,感谢您的快速和乐于助人的回复,我现在就试试!跨度>
    • 嗯,我检查了一下,我的代码中确实包含所有这些东西,我将 clear: both; 添加到我的#footer 和 .push 中的 css,但它似乎仍然没有正在工作。有什么想法吗?
    【解决方案2】:

    快速提示...我无法在您的源 HTML 中看到此代码

    <div class="push"></div>
    

    这很重要,因为它有助于将页脚粘贴到页面底部

    【讨论】:

      【解决方案3】:

      您的粘滞页脚不起作用,因为您正在使用position:absolute 来布局您的页面,而页脚不知道自己在文档中的位置。一个快速的解决方法是绝对定位您的页脚,例如

      #footer {
          left: 50%;
          margin: 0 auto 0 -480px;
          position: absolute;
          top: 1400px;
      }
      

      但我实际上建议的是正确定位您的divs 并使用浮动而不是position:absolute,这将解决使用这种布局产生的所有问题并且在语义上是正确的。

      【讨论】:

      • 哦,这太令人失望了!我想我已经吸取了教训,并且在将来进行布局之前会三思而后行。感谢您的回复
      • @user1208010 如果它有效,它就有效,这一直是规则。但这样做对吗?就是那个问题。您可以通过一些工作轻松地修复您的布局,但您必须让您的 div 与文档自然流动,而不是强迫它们遵守。因此,请替换您拥有的所有 position:absolute 声明,它们不会与您的文档一起使用,而是使用 floats。
      • 我现在正在重写我的布局。至少我现在注意到了它,而不是在以后的开发中:) 再次感谢。
      【解决方案4】:

      有一种更简单的方法来制作粘性页脚,它需要更少的代码并且更清楚它是如何工作的。看看http://www.htmltutorialsandtips.com/css-sticky-footer 的教程,看看它是如何工作的。它将带您逐步完成,以便您了解粘性页脚的工作原理,然后可以相应地修改您的代码。这样一来,您就可以将这一概念应用到任何布局中,而不仅仅是对这个问题有答案。

      【讨论】:

      • 感谢您的链接,我会为以后的网站保留它的书签!
      猜你喜欢
      • 1970-01-01
      • 2013-11-04
      • 1970-01-01
      • 2018-03-25
      • 1970-01-01
      • 2016-02-20
      • 1970-01-01
      • 2013-02-23
      • 2014-03-08
      相关资源
      最近更新 更多