css垂直中心のいくつかの方法
6084 ワード
親要素の高さが決定された単行テキスト
親要素の高さ決定の単行テキストの縦中央の方法は、親要素のheightとline-heightの高さが一致するように設定することによって実現されます.
htmlコード:
<div class="container">
hi,imooc!
</div>
cssコード:
<style>
.container{ height:100px; line-height:100px; background:#999; }
</style>
親要素の高さが決定された複数行のテキスト
親要素の高さを決定する複数行のテキスト、ピクチャ、ブロック要素の縦方向の中央に配置する方法には、次の2つがあります.
tableラベルの使用
垂直中心といえば、cssには垂直中心のプロパティvertical-alignがありますが、このスタイルは親要素がtdまたはthの場合にのみ有効です.だからまたtableラベルを挿入します.
tdラベルはデフォルトでvertical-alignがmiddleに設定されているので、明示的に設定する必要はありません.
htmlコード:
<body>
<table><tbody><tr><td class="wrap">
<div>
<p> 。</p>
<p> 。</p>
<p> 。</p>
<p> 。</p>
<p> 。</p>
</div>
</td></tr></tbody></table>
</body>
cssコード:
table td{height:500px;background:#ccc}
vertical-alignプロパティの使用
chrome、firefoxおよびIE 8以上のブラウザでは、ブロックレベル要素のdisplayをtable-cellに設定し、vertical-alignプロパティをアクティブにすることができますが、IE 6、7はこのスタイルをサポートしていないことに注意してください.
この方法の利点は,余計な無意味なラベルを追加する必要がないことであるが,欠点も明らかであり,互換性があまりよくなく,IE 6,7に互換性がないことである.
htmlコード:
<div class="container">
<div>
<p> 。</p>
<p> 。</p>
<p> 。</p>
<p> 。</p>
<p> 。</p>
</div>
</div>
cssコード:
<style>
.container{ height:300px; background:#ccc; display:table-cell;/*IE8 Chrome、Firefox*/ vertical-align:middle;/*IE8 Chrome、Firefox*/ }
</style>