私はこれを少し調査しましたが、私が見つけたものから、あなたには4つの選択肢があります:
バージョン1:テーブルセルとして表示される親div
display:table-cell
親divでを使用してもかまわない場合は、次のオプションを使用できます。
.area{
height: 100px;
width: 100px;
background: red;
margin:10px;
text-align: center;
display:table-cell;
vertical-align:middle;
}
ライブデモ
バージョン2:表示ブロックとコンテンツ表示テーブルセルを持つ親div
.area{
height: 100px;
width: 100px;
background: red;
margin:10px;
text-align: center;
display:block;
}
.content {
height: 100px;
width: 100px;
display:table-cell;
vertical-align:middle;
}
ライブデモ
バージョン3:表示テーブルセルとしての親divフローティングとコンテンツdiv
.area{
background: red;
margin:10px;
text-align: center;
display:block;
float: left;
}
.content {
display:table-cell;
vertical-align:middle;
height: 100px;
width: 100px;
}
ライブデモ
バージョン4:親divの位置相対、コンテンツの絶対位置
このバージョンで私が持っていた唯一の問題は、特定の実装ごとにcssを作成する必要があるようだということです。この理由は、コンテンツdivには、テキストを埋める高さを設定する必要があり、マージンの上部がそれから計算されるためです。この問題はデモで確認できます。コンテンツのdivの高さ%を変更し、それに.5を掛けてマージントップの値を取得することで、すべてのシナリオで手動で機能させることができます。
.area{
position:relative;
display:block;
height:100px;
width:100px;
border:1px solid black;
background:red;
margin:10px;
}
.content {
position:absolute;
top:50%;
height:50%;
width:100px;
margin-top:-25%;
text-align:center;
}
ライブデモ