方法1: 親要素をrelative、子要素をabsoluteにする
親要素のpositionにrelative、子要素のpositionにabsoluteを指定する方法です。
具体的な作成手順は以下の通りです。
- 移動対象の要素(子要素)に『position: absolute』を適用
- 移動基準の要素(親要素)に『position: relative』を適用
- 子要素(absolute)で位置を指定
この方法を利用することで、子要素の位置を親要素を基準とした絶対値で指定できます。具体例は以下の通りです。
<div class="item">
<div class="item__badge"></div>
</div>
.item {
width: 200px;
height: 200px;
background-color: lightskyblue;
position: relative;
}
.item__badge {
width: 100px;
height: 25px;
background: lightgreen;
position: absolute;
top: 0;
left: 0;
}
See the Pen
relative-absolute-badge by Toshiharu Nishina (@nishina555)
on CodePen.
方法2: 要素をrelative、擬似要素before/afterをabsoluteにする
具体的な作成手順は以下の通りです。
- 要素に『position: relative』を適用
- 要素の擬似要素before(あるいはafter)に『position: absolute』を適用
- 擬似要素で位置を指定
この方法を利用することで、擬似要素の位置を要素を基準とした絶対値で指定できます。具体例は以下の通りです。
<div class="item">
.item {
width: 200px;
height: 200px;
background-color: lightskyblue;
position: relative;
}
.item::after {
content: '';
width: 100px;
height: 25px;
background: lightgreen;
position: absolute;
top: 0;
left: 0;
}
See the Pen
relative-absolute-badge by Toshiharu Nishina (@nishina555)
on CodePen.
なお、擬似要素before/afterの詳細解説は擬似要素before/afterの概要と具体例で紹介しています。
さいごに
Twitter(@nishina555)やってます。フォローしてもらえるとうれしいです!