有一个页脚,让他实现不管页面主体有没有内容都是在最低下,
给body和html设置样式,出现了两种不同的效果,不知是怎么回事?
footer{
position:absolute;
bottom:0;
left:0;
width:100%;
height:50px;
}
如果body标签设置成
body{
position:relative;
min-height:100%;
}
如果给html设置
html{
position:relative;
min-height:100%;
}
先吐槽一下楼主的问法:
这能叫问题么?
正确的问法应该是:
1.我想实现实现一个元素总是在浏览器窗口的最下面。我的的思路是这样的(贴上自己的代码)
但是发现给
html
和body
分别设置position: relative;
出现的效果不同,效果是这样的。(贴上效果)请问原因是什么?2.有没有更好的办法?
答:
1.《CSS权威指南》中给出了这样一句话:
大致是这个意思。回头找出书来给你补上。
测试了一下IE8,Firefox,Opera,Safari for windows,都是相对于
html
定位。这也就是为什么使用
html
和body
元素出现不同效果的原因。你设置了body元素的高度为100%,但body的高度是相对于HTML的高度,
html
的默认高度为零。相对定位也就不能正常显示。看图(
body
为零)再看图(因为
body
高度为零,footer{bottom:0;}
,于是就有了这样的渲染)2.@radius已经回答了,先对于浏览器窗口定位。