我想将四个div
相对于另一个定位。我有一个矩形div
,我想在其角落插入4 div
个。我知道CSS有一个属性"position:relative"
,但这与该元素的正常位置有关。我想将div
的位置与其正常位置无关,而是相对于另一个元素(矩形)。我该怎么办?
答案 0 :(得分:37)
position: absolute
将按照相对于最近定位的祖先的坐标来定位元素,即最接近的父position: static
。
让你的四个div嵌套在目标div中,给目标div position: relative
,并在其他div上使用position: absolute
。
构建与此类似的HTML:
<div id="container">
<div class="top left"></div>
<div class="top right"></div>
<div class="bottom left"></div>
<div class="bottom right"></div>
</div>
这个CSS应该可以工作:
#container {
position: relative;
}
#container > * {
position: absolute;
}
.left {
left: 0;
}
.right {
right: 0;
}
.top {
top: 0;
}
.bottom {
bottom: 0;
}
...
答案 1 :(得分:31)
我建议在元素中使用绝对定位。
我创建了这个来帮助你稍微想象一下。
#parent {
width:400px;
height:400px;
background-color:white;
border:2px solid blue;
position:relative;
}
#div1 {position:absolute;bottom:0;right:0;background:green;width:100px;height:100px;}
#div2 {width:100px;height:100px;position:absolute;bottom:0;left:0;background:red;}
#div3 {width:100px;height:100px;position:absolute;top:0;right:0;background:yellow;}
#div4 {width:100px;height:100px;position:absolute;top:0;left:0;background:gray;}
<div id="parent">
<div id="div1"></div>
<div id="div2"></div>
<div id="div3"></div>
<div id="div4"></div>
</div>