CSS を使用した Div の配置をマスターする
CSS で要素を水平方向に中央揃えにすることは、Web 開発者が遭遇する一般的なタスクです。ボタン、画像、div のいずれを配置する場合でも、完璧な配置を達成するのは難しい場合があります。このガイドでは、水平方向の中央に配置するためのさまざまな方法を検討します。
これらのテクニックを理解して適用することで、Web 要素を希望の場所に正確に配置することができます。この重要な CSS スキルを包括的に理解できるように、フレックスボックス、グリッド、従来の方法などのさまざまなアプローチを取り上げます。
指示 | 説明 |
---|---|
display: flex; | フレックス コンテナを定義し、フレックスボックス レイアウトを有効にします。 |
justify-content: center; | フレックス コンテナ内で項目を水平方向の中央に配置します。 |
align-items: center; | フレックスコンテナ内で項目を垂直方向の中央に配置します。 |
place-items: center; | アイテムをグリッド コンテナー内で水平方向と垂直方向の中央に配置します。 |
transform: translate(-50%, -50%); | 要素をその幅と高さの 50% だけ移動して中央に配置します。 |
position: absolute; | 最も近い位置にある祖先を基準にして要素を配置します。 |
top: 50%; | 要素を、その要素を含む要素の上部から 50% の位置に配置します。 |
left: 50%; | 要素を、その要素を含む要素の左から 50% の位置に配置します。 |
フレックスボックス、グリッド、従来の CSS を使用した要素の中央揃え
最初のスクリプトは、オブジェクトを中央に配置する方法を示しています。
2 番目のスクリプトでは、 同様の結果を達成するために。申請することで 親コンテナにコピーし、 の場合、子要素は水平方向と垂直方向の両方で中央に配置されます。この方法は、グリッドベースのレイアウトに特に役立ちます。最後に、従来の方法では次の設定を行います。 position: absolute; 子要素で使用して そして と 親の中央に配置します。このアプローチは、固定サイズの要素に効果的です。
Flexbox を使用して Div を水平方向に中央揃えにする
Flexbox を使用した HTML と CSS
<!DOCTYPE html>
<html>
<head>
<title>Flexbox Centering</title>
<style>
#outer {
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
border: 1px solid black;
}
#inner {
padding: 20px;
background-color: lightblue;
border: 1px solid blue;
}</style>
</head>
<body>
<div id="outer">
<div id="inner">Foo foo</div>
</div>
</body>
</html>
CSS グリッドを使用して Div を中央に配置する
グリッドレイアウトを使用したHTMLとCSS
<!DOCTYPE html>
<html>
<head>
<title>Grid Centering</title>
<style>
#outer {
display: grid;
place-items: center;
height: 100vh;
border: 1px solid black;
}
#inner {
padding: 20px;
background-color: lightgreen;
border: 1px solid green;
}</style>
</head>
<body>
<div id="outer">
<div id="inner">Foo foo</div>
</div>
</body>
</html>
CSS を使用して中央揃えする従来の方法
マージン自動を使用した HTML と CSS
<!DOCTYPE html>
<html>
<head>
<title>Traditional Centering</title>
<style>
#outer {
width: 100%;
height: 100vh;
border: 1px solid black;
position: relative;
}
#inner {
width: 50px;
padding: 20px;
background-color: lightcoral;
border: 1px solid red;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}</style>
</head>
<body>
<div id="outer">
<div id="inner">Foo foo</div>
</div>
</body>
</html>
要素を中央に配置するための高度なテクニック
コンテナ内で要素を水平方向に中央に配置する別の方法には、 財産。このアプローチは、インラインブロックまたはインライン要素に特に効果的です。申請することで 親コンテナでは、すべての子要素が水平方向の中央に配置されます。ただし、この方法は、ブロック レベル要素がインライン ブロックに変換されない限り、ブロック レベル要素に対しては機能しません。
さらに、 ブロックレベルの要素を中央に配置するためのプロパティ。要素の左右のマージンを auto に設定すると、要素を親コンテナ内で水平方向の中央に配置できます。この手法はシンプルで、固定幅の要素に適しています。これらの方法をフレックスボックスやグリッドなどの最新の CSS レイアウト手法と組み合わせることで、必要に応じて要素を正確に配置するための包括的なツールキットが提供されます。
- インライン要素を中央に配置するにはどうすればよいですか?
- 使用 親コンテナ上でインライン要素を中央に配置します。
- margin: auto; を使用できますか?ブロック要素を中央に配置するには?
- はい、設定です 左側と右側にあると、ブロック要素が中央に配置されます。
- センタリングにおけるフレックスボックスとグリッドの違いは何ですか?
- は 1 次元レイアウトに使用されますが、 二次元レイアウト用です。
- CSS で固定幅の要素を中央に配置するにはどうすればよいですか?
- 使用 または と
- Flexbox を使用して要素を垂直方向の中央に配置できますか?
- はい、使用します フレックスコンテナ内で要素を垂直方向の中央に配置します。
- テキストを中央揃えにします。ブロック要素でも機能しますか?
- いいえ、 inline 要素または inline-block 要素に対してのみ機能します。
- コンテナ内の複数の要素を中央に配置するにはどうすればよいですか?
- 使用 と そして
- プレイスアイテムとは: センター;グリッドで?
- アイテムをグリッド コンテナー内で水平方向と垂直方向の両方に中央揃えにします。
- フレックスボックスやグリッドを使用せずに要素を中央に配置することはできますか?
- はい、次のような方法を使用します 、 、 または 要素を中央に配置することもできます。
CSS センタリングテクニックのまとめ
さまざまな CSS メソッドを使用して要素を水平方向に中央揃えする方法を理解することは、視覚的に魅力的な Web レイアウトを作成するために不可欠です。などのテクニックを習得することで、 、 、 そして プロパティを使用すると、開発者はデザインが機能的であり、見た目も美しいことを確認できます。これらの方法を試してみることで、CSS の機能をより深く理解できるようになります。