我有一个css代码。 为什么“底部:0”在“位置:相对”时不起作用 如果我放弃“位置:亲属;”到“底部”工作,但“浮动:左”和“浮动:右”不在“宽度:930px;”。 抱歉,我的英文不好
<style type="text/css">
#main {
position: relative;
width: 930px;
padding:10px;
margin:0 auto;
}
#left {
position:absolute;
left:0;
}
#right {
position:absolute;
right:0;
}
#bottom {
position: absolute;
bottom:0;
}
</style>
<div id="main">
<div id="left">
Left
</div>
<div id="right">
Right
</div>
<div id="bottom">
Bottom
</div>
</div>
答案 0 :(得分:23)
这是因为当您在主要设置position:relative
时,position:absolute
将相对连接到父级。并且您的#main
div没有高度,导致#bottom
不在页面底部。
答案 1 :(得分:2)
这不是要走的路,请使用float
进行此类布局。
回到你的问题,
bottom:0
工作正常但由于你的主要没有高度,你没有看到它,
为#main
,
#main
{
position: relative;
width: 930px;
padding:10px;
margin:0 auto;
height:200px;
}
修改:
你可以使用,
#main {
position: relative;
width: 930px;
padding:10px;
margin:0 auto;
}
#left {
position:absolute;
left:0;
top:0;
}
#right {
position:absolute;
right:0;
top:0;
}
#bottom {
left:0;
position: absolute;
bottom:-20px;
}
但我不推荐这个(我之前说过这个布局不应该由float
来处理)
absolute
未考虑其他元素的position
,因此如果#left
的身高更高,此代码将会中断。
如果我是你,我会用这个,
#main {
position: relative;
width: 930px;
padding:10px;
margin:0 auto;
}
#left {
float:left;
}
#right {
float:right;
}
#bottom {
clear:both;
}