これら 2 つのソリューションでは、ネストされた要素が 2 つだけ必要です。
最初-コンテンツが静的な場合の相対位置と絶対位置(マニュアル センター)。
.black {
position:relative;
min-height:500px;
background:rgba(0,0,0,.5);
}
.message {
position:absolute;
margin: 0 auto;
width: 180px;
top: 45%; bottom:45%; left: 0%; right: 0%;
}
https://jsfiddle.net/GlupiJas/5mv3j171/
または流体設計の場合- 正確なコンテンツ センターの場合は、代わりに以下の例を使用します。
.message {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
https://jsfiddle.net/GlupiJas/w3jnjuv0/
コンテンツがウィンドウの高さの 50% を超える場合に備えて、「最小高さ」を設定する必要があります。この高さは、モバイルおよびタブレット デバイス用のメディア クエリで操作することもできます。ただし、レスポンシブ デザインで遊んでいる場合に限ります。
何らかの理由で必要がある場合は、さらに進んで単純な JavaScript/JQuery スクリプトを使用して最小高さまたは固定高さを操作できると思います。
2 つ目-コンテンツが流動的である場合、table および table-cell css プロパティを使用して、垂直方向の配置と text-align を中央に配置することもできます。
/*in a wrapper*/
display:table;
と
/*in the element inside the wrapper*/
display:table-cell;
vertical-align: middle;
text-align: center;
オブジェクトの幅を操作するグリッド レイアウトとメディア クエリを備えたレスポンシブ Web デザイン ソリューションとしてよく使用されます。
.black {
display:table;
height:500px;
width:100%;
background:rgba(0,0,0,.5);
}
.message {
display:table-cell;
vertical-align: middle;
text-align: center;
}
https://jsfiddle.net/GlupiJas/4daf2v36/
私は正確なコンテンツのセンタリングのためのテーブルソリューションを好みますが、特にコンテンツの配置の正確な比率を維持したくない場合は、相対的な絶対配置がより良い仕事をする場合があります.