强急,吐血,请问css的div边框问题?

来源:百度知道 编辑:UC知道 时间:2024/05/30 10:35:29
急,请问css的div边框问题?
<style>
body{
border:1px solid black;
margin:0px;
}
.a{
border:1px solid black;
background-color:red;
}
.a p{
background:yellow;
width:200px;

}
</style>

<div class="a"> <p>111 </p> </div>

在火狐中...

为什么给.a加上border:1px solid black后,div红色的背景会自己扩充,

没加border:1px solid black的话,div的背景色就只在p背景色的下面,什么原因?

因为在没有边框的时候div的margin和p的margin可以重叠 但是 有了边框之后由于边框的阻拦 他们两个的margin就不可以重叠所以多出来的区域其实是p的margin值,div的内容是被撑出来的,在加上div的背景是红色的 所以就不一样啦~~~

.a p{
margin:0;
background:yellow;
width:200px;
}
-->加上一个margin:0;