TECH I.S.

CSSレイアウト - 水平方向と垂直方向の位置合わせ


要素を水平および垂直方向に中央揃え


要素を中央揃え

ブロック要素(<div>など)を水平方向に中央揃えするには、次を使用します。
margin: auto;

要素の幅を設定すると、要素がコンテナの端まで伸びなくなります。

要素は指定された幅を取り、残りのスペースは2つのマージン間で均等に分割されます。

このdiv要素は中央揃えです。


.center{   margin: auto; width: 50%; border: 3px solid green;   padding: 10px; }

自分で試してみる»

注意:widthプロパティが設定されていない (または 100% に設定されている) 場合、中央揃えは効果がありません。


テキストを中央揃え

要素内のテキストを中央に配置するには、次を使用します。
text-align: center;

このテキストは中央揃えです。


.center {   text-align: center;   border: 3px solid green; }

自分で試してみる»

ヒント:テキストを揃える方法の例については、CSSテキストの章を参照してください。


画像を中央に配置

画像を中央に配置するには、左右のマージンをautoに設定し、block要素にします。
Paris

img{   display: block; margin-left: auto;   margin-right: auto;   width: 40%; }

自分で試してみる»


左揃えと右揃え - 位置の使用

要素を整列させる1つの方法は、次を使用することです。
position: absolute;

若くて傷つきやすい年に、父は私にアドバイスをくれました。



.right{   position: absolute; right: 0px;   width: 300px;   border: 3px solid #73AD21;   padding: 10px; }

自分で試してみる»

注意:絶対配置要素は通常のフローから削除され、要素をオーバーラップさせることができます。


左揃えと右揃え - float の使用

要素を整列させるもう 1 つの方法は、floatプロパティを使用することです。

.right{   float: right; width: 300px;   border: 3px solid #73AD21;   padding: 10px; }

自分で試してみる»


clearfixのハック

注意:要素がそれを含む要素よりも高く、フロートされている場合、コンテナーの外にオーバーフローします。「clearfixハック」を使用してこれを修正できます (以下の例を参照)。

clearfixなし

clearfix付き

次に、含まれる要素にclearfixハックを追加して、この問題を修正します。

.clearfix::after {   content: "";   clear: both;   display: table; }

自分で試してみる»


垂直方向に中央揃え - パディングを使用

CSSで要素を垂直方向に中央揃えする方法は多数あります。簡単な解決策は、上下のpaddingを使用することです。

私は垂直方向の中心にいます。


.center {   padding: 70px 0;   border: 3px solid green; }

自分で試してみる»

垂直方向と水平方向の両方の中央に配置するには、paddingtext-align: centerを使用します。

私は垂直方向と水平方向の中心にいます。

.center {   padding: 70px 0;   border: 3px solid green;   text-align: center; }

自分で試してみる»


垂直方向に中央揃え - line-heightを使用

もう1つのトリックは、heightプロパティと等しい値でline-heightプロパティを使用することです。

私は垂直方向と水平方向の中心にいます。

.center {   line-height: 200px;   height: 200px;   border: 3px solid green;   text-align: center; } /* テキストに複数の行がある場合は、次を追加します。 */ .center p {   line-height: 1.5;   display: inline-block;   vertical-align: middle; }

自分で試してみる»


垂直方向に中央揃え - 位置と変換を使用

paddingline-heightが解決策のオプションでない場合、別の解決策は、位置とtransformプロパティを使用することです。

私は垂直方向と水平方向の中心にいます。

.center {   height: 200px;   position: relative;   border: 3px solid green; } .center p {   margin: 0;   position: absolute;   top: 50%;   left: 50%;   transform: translate(-50%, -50%); }

自分で試してみる»

ヒント:トランスフォーム プロパティの詳細については、2Dtransformの章の章を参照してください。

垂直方向に中央揃え - フレックスボックスを使用

フレックスボックスを使用して対象を中央に配置することもできます。IE10以前のバージョンではフレックスボックスがサポートされていないことに注意してください。

私は垂直方向と水平方向の中心にいます。

.center {   display: flex;   justify-content: center;   align-items: center;   height: 200px;   border: 3px solid green; }

自分で試してみる»

ヒント:フレックスボックスについては、CSSフレックスボックスの章の章で詳しく説明します。




プログラミング学習を加速させる

プログラミングをプロの講師に教えてもらいませんか。

テックアイエスのプログラミングスクールは初心者も大歓迎です。年齢制限もありません。転職・副業に強く、挫折させない手厚いサポートで稼ぐ力を身につけましょう!

スクールの詳細