网页的footer怎么安排在屏幕的最下面

小水晶 2009-09-21 12:48:47
想在每个网页的下面都加上footer,但发现如果某个页面内容少比如就一个错误提示,结果footer就紧挨着提示显示在窗口的中间了。
我想要的效果是:如果页面短,未使用滚动条,则footer显示在最下面

如果页面长,用了滚动条,则footer跟在内容后面,其实也是显示在最下面

用的sitemesh控制模板

紧挨着<decorator:body />
后面加上footer,如果页面长,有滚动条出现很好,可页面短时,就出现上面提到的结果footer显示在中间了

如果用
<div height="760px">
<decorator:body />
</div>

发现页面长的时候,footer也是出现在760后面的固定位置,而不是最下面了。
...全文
836 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
小水晶 2009-09-22
  • 打赏
  • 举报
回复
非常感谢大家,但没有找到我想想的方法,首先我认为这东西应该是有个现成例子,因此没考虑JS的事。

然后总结一下大家提的方法
首先说一下3楼的,可以很好的解决内容短,没有出现滚动条时的情况,但内容很长时,由于是absolute绝对定位,因此FOOTER还是会出现在屏幕中间把内容拆开。

再说下4楼的方法,这就是我最初想到的,但觉得这应该是个基本的需求,却要弄个js来设置table的height,看来是没别的方法了。

补充解释下6楼说的,用百分比设置height时,短内容的情况是无法解决的,footer会紧跟着内容出来,百分比失效

我用的firefox 3.5

2楼的我能力有限,没法通过回答试出例子
yekai012 2009-09-21
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 lcrystal623 的回复:]
楼上的,你那760,不是限定用户用1024*768了吗?
我觉得这样不好,我怎么知道用户的分辨率是多少
[/Quote]
优化靠自己吧,分辨率可以通过JS来做。
amyzhangqian 2009-09-21
  • 打赏
  • 举报
回复
别设死了 设个百分比吧
小水晶 2009-09-21
  • 打赏
  • 举报
回复
楼上的,你那760,不是限定用户用1024*768了吗?
我觉得这样不好,我怎么知道用户的分辨率是多少
yekai012 2009-09-21
  • 打赏
  • 举报
回复
用table吧,如下图所示

|----------------------------------|
| |
| td height = 760 |
| 内容 |
| |
|----------------------------------|
| footer goes here |
|----------------------------------|

这样,如果内容不够的话,会以760为界,footer出现在760的下面,如果超过了760,系统会以实现高度为准,把footer往下撑,但始终是最下面的。
BTW:要想显示的好一点,当然是和分辨率有关的,自己调一下就明白了。
z1g2w3i4 2009-09-21
  • 打赏
  • 举报
回复
<body style="overflow:auto;"' >
<div id='footer' style='position:absolute;top:100%;'>aa</div>
</body>
小水晶 2009-09-21
  • 打赏
  • 举报
回复
恐怖,居然有这样级别的人,前辈呀

我用的是框架呀,siteMesh不算框架吗?您的意思是我要用js来实现这功能,我觉得这应该是个很普通的功能吧,为什么还要考虑各个分辨率以及内容呢,只要让footer在父div中下对齐就好了,只是我不知道该怎么弄
老紫竹 2009-09-21
  • 打赏
  • 举报
回复
1 用框架就行了
2 用iframe也可以,不过你得实现计算好屏幕的高度,而且要注意屏幕分辨率的改变。
许多的js实现的跟随代码,比如那些弹出广告都是这么做的。
当然,不同的内容,用div就可以了。复杂的话再用div里嵌套iframe

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧