CSS レイアウト - 水平 & 垂直配置


水平 & 垂直中央揃え


要素の中央揃え

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

要素に幅を設定すると、コンテナの端にオーバーフローするのを防げます。

要素は幅を指定し、両側の余白を均等に分配することで:

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 文本章节。


画像の中央揃え

画像を中央揃えするには、次を使用できますmargin: auto;并将它放到块元素中:

Paris

实例

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

尝试一下 »

左右揃え - 位置指定方式を使用

私たちは使用できますposition: absolute;プロパティで要素を整列します:

サンプル-- 学ぶのは技術だけではなく、夢でもあります!!!


实例

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

尝试一下 »

注释:絶対配置された要素は通常のフローから除外され、他の要素と重なることができます。

提示:当使用position要素を揃えるとき、通常<body>元素会设置marginとpadding。これにより、ブラウザーによる表示の違いを避けることができます。

position 属性を使用する場合、IE8 およびそれ以前のバージョンには問題があります。コンテナ要素(この例では <div class="container">)に指定した幅が設定され、!DOCTYPE 宣言が省略されていると、IE8 およびそれ以前のバージョンでは右側に 17px のマージンが追加されます。これはスクロールバー用に確保されたスペースのようです。position 属性を使用する場合は、常に !DOCTYPE 宣言を設定してください:


实例

body { margin: 0; padding: 0; } .container { position: relative; width: 100%; } .right { position: absolute; right: 0px; width: 300px; background-color: #b0e0e6; }

尝试一下 »

左右配置 - float 方式を使用

私たちも使用できますfloatプロパティで要素を整列します:

实例

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

尝试一下 »

このように要素を配置する場合、<body> 要素のマージンとパディングを事前に定義しておくことをお勧めします。これにより、ブラウザーによる表示の違いを避けることができます。

注意:子要素の高さが親要素よりも高く、子要素にフロートが設定されている場合、子要素はオーバーフローします。この場合は「clearfix(フロートの解除)」を使用してこの問題を解決できます。

親要素に overflow: auto; を追加することで、子要素のオーバーフローの問題を解決できます:

实例

.clearfix { overflow: auto; }

尝试一下 »

float 属性を使用する場合、IE8 およびそれ以前のバージョンには問題があります。!DOCTYPE 宣言が省略されていると、IE8 およびそれ以前のバージョンでは右側に 17px のマージンが追加されます。これはスクロールバー用に確保されたスペースのようです。float 属性を使用する場合は、常に !DOCTYPE 宣言を設定してください:

实例

body { margin: 0; padding: 0; } .right { float: right; width: 300px; background-color: #b0e0e6; }

尝试一下 »

垂直方向の中央揃え - padding を使用

CSS には垂直中央揃えを実現する方法がたくさんあります。簡単な方法の1つは、ヘッダー上部で次を使用することですpadding:

私は垂直方向に中央揃えされています。


实例

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

尝试一下 »

水平方向と垂直方向の両方を中央揃えする場合は、次を使用できますpaddingとtext-align: center:

私は水平・垂直ともに中央揃えです。


实例

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

尝试一下 »

垂直方向の中央揃え - 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; }

尝试一下 »

垂直方向の中央揃え - position と transform を使用

使用する以外にpaddingとline-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%); }

尝试一下 »

提示:transform 属性の詳細については、次を参照してください2D 翻转章节。


更多实例

CSS で margin を使用して div を中央揃えにする

CSS で絶対配置を使用して div を右揃えにする

其他扩展