ホームページ  >  記事  >  ウェブフロントエンド  >  CSS センタリングの完全なソリューション_html/css_WEB-ITnose

CSS センタリングの完全なソリューション_html/css_WEB-ITnose

WBOY
WBOYオリジナル
2016-06-24 11:56:44866ブラウズ

前回のインタビューでインタビュアーが固定幅と可変幅について質問したので、関連するCSSのセンタリングについてまとめてみました

原文は私のフロントエンドブログから抜粋したものです、どなたでもご覧ください

http://www.hacke2.cn

水平方向の中央揃え

インライン要素

DIV 内でインライン要素をネストし、DIV 内で次のスタイルを設定します

a{ text-align: center; }

ブロックレベルの要素

固定幅ブロックの場合要素の場合、margin-top と margin-right を auto に設定する必要があります

.center{ margin: 0 auto; }

複数のブロックレベル要素 (inline-block)

複数のブロックレベル要素の場合、表示を inline-block に設定します。次に、親要素の属性を設定します

div{ text-align: center; }

複数のブロックレベル要素 (フレックス)

水平方向の中央に配置する必要があるブロック要素の親要素の表示をフレックスに設定し、justify-content 属性を中央に設定します

body{ display: flex; justify-content: center; }

垂直中央揃え

単一行のインライン要素

インライン要素の高さと行の高さを一貫して設定します

a{ height: 200px; line-height:200px; }

複数行のインライン要素

インライン要素が多すぎて複数行が表示されない場合生成され、親要素の表示を設定します: table-cell;vertical-align:middle;

.container{ width: 300px; height: 300px; display: table-cell; vertical-align:middle; }

高さが既知のブロックレベル要素

ブロックレベル要素の絶対位置を設定し、上から 50%、マージン - top:-height/2

div{ height: 100px; position: absolute; top: 50%; margin-top: -50px; padding:0; }

高さが不明なブロックレベル要素

CSS 変換を使用し、ブロックレベル要素を絶対位置に設定し、上部は 50%、transform:translateY(-50%);

div{ position: absolute; top: 50%; transform: translateY(-50%); padding:0; }

水平方向と垂直方向の中央揃え

高さと幅がわかっている要素

ブロックレベルの要素の絶対位置を設定します。 2

div{ width: 150px; height: 150px; position: absolute; top: 50%; left: 50%; margin-top: -75px; margin-left: -75px; }

高さと幅がわかっている要素 (flex )

親に flex レイアウトを使用する

div{ display: flex; justify-content:center; align-items: center; }

高さと幅が不明な要素

CSS 翻訳を使用する

div{ position:absolute; top:50%; left:50%; -webkit-transform:translate(-50%,-50%); -moz-transform:translate(-50%,-50%); transform:translate(-50%,-50%); }

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。