打印

[求助] 请问DIV+CSS页面能不能让footer始终在底部?

本主题由 jxdawei 于 2008-8-5 14:29 分类
我想让footer部分不管页面有没有被撑满,但始终在页面的最下面?但DIV没有height=100%吧?
请问各位都有什么好办法?
谢谢!


 提示:您可以先修改部分代码再运行
圆通快递是垃圾!
谢谢ariex.
请问有没有办法可以这样,当页面内容不满一页时,footer就在页面最下面,当页面超过一页时,footer就在页面最下面, 只有向下拉才能看到footer?
提醒:最后回贴距现在 845 天,请不要无意义回复
引用:
原帖由 charliedjw 于 2006-4-13 22:20 发表
谢谢ariex.
请问有没有办法可以这样,当页面内容不满一页时,footer就在页面最下面,当页面超过一页时,footer就在页面最下面, 只有向下拉才能看到footer?
同问

TOP

还在为头像烦恼?还在为不能关注好友动态烦忧?快来蓝色理想家园吧!
绝对定位  bottom:0

TOP

引用:
原帖由 cuikai 于 2008-8-5 10:59 发表
绝对定位  bottom:0
行吗?给个答案

TOP

好多都是用框架实现的!

TOP

绝对定位可以实现的

以前研究过,现在直接转过来,懒得打字了

css如何定位网站的footer
平时拿CSS布局都是一些内容比较多的网站,前两天用CSS+DIV弄了个内容少的页面,发现了一个小问题,可能大家都会遇到,那就是网站FOOTER的定位,如果内容比较少的话,页面的FOOTER就会随着内容的减少跑到上面去,不是乖乖的在下面呆着,害得我研究了半天找高人终于给搞定了,也算一个小小的技巧给大家分享
   

    首先我们要在外层设定一个DIV(content   <---名字可以随便定义,),让这个DIV的高度等于浏览器的高度,然后将footer这个DIV设定为content的一个子DIV ,并使用绝对定位,使它固定到content的底端;这是大概的思路,

      下面是实现的方法:
      <body>
          <div id="content">
               <div id="main">
                      <h1>main</h1>
                      <p>你可以改变浏览器窗口的高度,来观察footer效果。</p>
                      <p>文字文字文字文字文字文字文字文字文字文字</p>
              </div>
              <div id="footer">
                      <h1>Footer</h1>
              <div>
          </div>
     </body>
   
     然后我们写下CSS:

     body,html {
margin: 0;
padding: 0;
font: 12px/1.5 arial;
height:100%;
}
#content {
min-height:100%;
position: relative;
}
#main {
padding: 10px;
padding-bottom: 60px;   /* 20px(font-size)x2(line-height) + 10px(padding)x2=60px*/
}
#footer {
position: absolute;
bottom: 0;
padding: 10px 0;
background-color: #AAA;
width: 100%;
}
#footer h1 {
font: 20px/2 Arial;
margin:0;
padding:0 10px;
}


      首先把HTML和BODY的HEIGHT属性设为100%;保证content的高度能撑满浏览器;

      然后把#content的高度也设置为100% ,但是这里我们使用了“min-height”属性,而不是的height属性,这是因为如果#main中的内容如果增加了,他的高度超过了浏览器窗口的高度,那么如果把#content的高度仍然是100%,就会导致#footer仍然定位在浏器窗口的下端,从而遮盖了#content中的内容。

      而使用min-height属性的作用就是使#content的高度“至少”为浏览器窗口的高度,而当如果它里面的内容增加了,他的高度会也跟随着增加,这才是我们需要的效果。

      接下来,将#content设置为相对定位,目的是使他成为它里面的#footer的定位基准

      然后把#foooter设置为绝对定位,并使之贴在#main的最下端。

      但是要注意,如果当我们把#footer贴在#content的最下端以后,他实际上已经和上面的#main这个div重叠了,为了避免覆盖#main中的内容,我们在#main中设置了下侧的padding,使padding-bottom的值等于#footer的高度,就可以保证避免覆盖#main的文字了

 提示:您可以先修改部分代码再运行
[ 本帖最后由 zorrolei 于 2008-8-5 18:29 编辑 ]

TOP

回8#。。。



 提示:您可以先修改部分代码再运行

TOP

哦,不好意思啊,呵,应该是这样

 提示:您可以先修改部分代码再运行

TOP