【CSS】position:absoluteの上下左右中央配置マニュアル
cssのposition:absoluteで、上下、左右、中央それぞれに配置するためのcssソースコードをまとめました。
それぞれ、親要素、子要素のサイズを問わず、可変でも対応するため、ご活用頂けると嬉しいです。
各項目毎に、そのcssを適用したデモも併せて載せてあります。
各デモの親要素、子要素のプロパティ、HTMLソースは下記のようになっています。
.parent{
position: relative;
width: 100%;
height: 300px;
border: 2px solid #CCC;
box-sizing: border-box;
}
.parent > div{
box-sizing: border-box;
width: 50px;
height: 50px;
background-color: red;
/*
デモ部分は、ここに位置プロパティを入れています
position: absolute;
top: 0;
left: 0;
*/
}
<div class="parent">
<div></div>
</div>
左上に配置する
.parent > div{
position: absolute;
top: 0;
left: 0;
}
中央上に配置する
.parent > div{
position: absolute;
left: 50%;
top: 0;
transform: translateX(-50%);
-webkit-transform: translateX(-50%);
}
右上に配置する
.parent > div{
position: absolute;
right: 0;
top: 0;
}
左中央に配置する
.parent > div{
position: absolute;
top: 50%;
left: 0;
transform: translateY(-50%);
-webkit-transform: translateY(-50%);
}
上下左右中央に配置する
.parent > div{
position: absolute;
top: 50%;
left: 50%;
transform: translateY(-50%) translateX(-50%);
-webkit-transform: translateY(-50%) translateX(-50%);
}
右中央に配置する
.parent > div{
top: 50%;
right: 0;
transform: translateY(-50%);
-webkit-transform: translateY(-50%);
}
左下に配置する
.parent > div{
position: absolute;
bottom: 0;
left: 0;
}
中央下に配置する
.parent > div{
position: absolute;
left: 50%;
bottom: 0;
transform: translateX(-50%);
-webkit-transform: translateX(-50%);
}
右下に配置する
.parent > div{
position: absolute;
right: 0;
bottom: 0;
}


ディスカッション
コメント一覧
まだ、コメントがありません