position:absoluteで浮いている要素を上下中央配置にするやり方。
昔は大変だったが、今ではflexboxを使えば簡単にできる。キーは子要素にdisplay:flexをかけて、縦方向に中心いするためにflex-direction:column、align-items: center;にし、さらにwidthとheightに100%をかける。
.parent {
position: relative;
}
.child {
position: absolute;
top: 0;
width: 100%;
height: 100%;
z-index: 2;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
幅と高さがない場合中央配置にならないため注意。
単純に中央配置にするだけなら、flexboxを使わなくても実現可能。leftとrightをどちらも0を指定するだけ。
.parent {
position: relative;
}
.child {
position: absolute;
width: 100%;
height: 100%;
top: 0;
left: 0;
right: 0;
}
こちらも幅の指定をしないと中央配置にならないため注意。
