在CSS中,如果边界属性取值为负值的时候,元素之间的关系就会因此而变得复杂很多。
在垂直方向上,两个元素的边界仍然会重叠,但是此时一个为正值,一个为负值,最后的取值并不是取其中较大的正值,而是用正的边界值减去负边界值的绝对值。即,把正的边界值与负的边界值相加的结果。我们来看一段代码:
.content01{
margin-bottom:20px;
background:#fffccc;}
.content02{
margin-top:-60px;
background:#98cdff;}
.content03{
width:300px;
height:50px;
padding-top:30px;
color:#7a7a7a;}
<div class="content03 content01">这里是元素1</div>
<div class="content03 content02">这里是元素2</div>
在该样式中,定义了两个高为50像素的元素,其中,元素1的下边界为20像素,元素2的上边界为-60像素。下面来看一下该样式应用于页面的效果。
从上面的图中,可以看出,两个元素之间的距离为20像素与-60像素之和-40像素,所以元素2向上移动,与元素1有40个像素的重叠。
如果是左右边界取负值的时候,和上下边界取负值的情况是一样的,显示基本相同。