我想了解css
定位。
我想要完成的是:我希望当我设置div
位置,div
之后,改变第一个div
移动的位置,而不重叠它们。
让我们举个例子:
HTML
<div class="wrap">
<div class="box1">
</div>
<div class="box2">
</div>
<div class="box3">
</div>
</div>
CSS
.wrap{
position: absolute;
background-color:yellow;
width:500px;
height:600px;
margin:0 auto;
}
.box1,.box2,.box3{
position: relative;
width:450px;
height:150px;
margin:0 auto;
}
.box1{background-color:red; top: 100px;}
.box2{background-color:green;}
.box3{background-color:blue;}
现在,当我在top:100px
上设置box1
时,它从顶部开始100px
,但box2
和box3
仍然存在。我希望当我在其中一个top
设置div
位置时,他们“受到”设置位置的变化,而不会重叠或被其他div
重叠
正如您所见,我尝试使用position: relative
,但它没有达到我的目标。
很抱歉,如果我解释得更好,我很难用英语解释。
答案 0 :(得分:1)
使用margin-top而不是top。顶部/底部/左/右从正常位置改变位置,因此不会影响其余部分。保证金也将影响其余部分。
.box1{background-color:red; margin-top: 100px;}
答案 1 :(得分:1)
top
属性(left
,right
和bottom
)仅用于定位绝对元素。
赋予元素这个属性可能会给它绝对的行为
要定位相对元素,您应该使用margin-top
。
HERE 是一个工作小提琴
答案 2 :(得分:1)
css top
属性只能用于位置为absolute
的元素(如聊天中所述: - )。
对于相对定位元素,您应该使用margin-top
属性,如:
.box1 {background-color:red; margin-top: 100px;}
答案 3 :(得分:0)
听起来你真的想要保留标准的盒子模型,而不是忽略它。
不要设置位置:相对,并使用填充 -top或margin-top以增加额外空间。