请问css定位的问题?

来源:百度知道 编辑:UC知道 时间:2024/05/24 23:30:54
请问css定位的问题?
<style>
body{
margin:0px;
background-color:#ccc;
}
#left{
border:1px solid black;
background:#fff;
width:190px;
position:absolute;
left:130px;

}
#middle{
width:100px;

}
</style>

<div id="left">
<p>left</p>
</div>

<div id="middle">
<p>正文内容</p>
</div>

我给#left设置了position:absolute绝对定位后,脱离标准流,

并在body中加了<div id="middle"><p>正文内容</p></div>

问题是,为什么一加上<div id="middle"><p>正文内容</p></div>后,

在body中,left和middle就不能置顶,就会空一行,然后才是left和middle

就是当left脱离body标准流后,下一个middle占到left原来的位置后,left和middle为什么不是置顶?

如果给left加上边框的话又可以置顶,不加又不会,

或者给body加上border:1px solid black的话middle会置顶,不加就不会

是<p>标签的问题,如果你把<p>标签的样式设为margin:0,那就不会出现空一行的了

1、没发现你所描述的问题存在。估计和你用的浏览器有关。
2、你的语法太不规范了:left和middle是html的固有值,是有特定含义的,不要用它来作为你的自定义DIV。看你后面的描述,会给看的人造成极大的混乱,也不利于你自己的思维进行;不要用不完整描述来定义颜色。
3、有的浏览器在你语法不规范的时候能自动订正或忽略,有的浏览器可不会理你。建议你先把语句规范了,再检查其他可能引起偏差的地方。

你的浏览器问题.