4つのdiv
sを別の相対位置に配置したい。長方形div
があり、その角に4つのdiv
sを挿入します。 CSSには"position:relative"
属性がありますが、これはその要素の通常の位置に相対的です。 div
sを通常の位置ではなく、別の要素(長方形)に相対して配置したい。私は何をすべきか?
要素内で絶対配置を使用することをお勧めします。
これを作成して、少し視覚化できるようにしました。
#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>
position: absolute
は、最も近くに配置された祖先、つまりposition: static
ではない最も近い親を基準にして、座標によって要素を配置します。
4つの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;
}
...