インラインブロック、フレックスボックス、グリッド、フロート、テーブルの 5 つの異なる方法を使用して、CSSで 2 つの div を並べて表示する方法を学びます。このステップバイステップのチュートリアルでは、各方法の長所と短所を説明するので、ニーズに最適な方法を選択できます。
HTMLには、インライン要素とブロック要素の 2 種類があります。インライン要素は要素を隣り合わせに配置できますが、デフォルトでは高さと幅のプロパティをサポートしていません。ブロック要素はデフォルトで幅と高さのプロパティをサポートしていますが、それはできません。ブロック要素を 2 つの div のように並べて配置します
それで、ここでそれを機能させる方法を見てみましょう
div を 5 つの異なる方法で並べて配置する方法を見ていきます。
表示: inline-blockプロパティは、ブロック要素を互いに並べて配置するのに役立ちます
ただし、ブロック要素はデフォルトで 100% の幅を取るため、ブロック要素に追加の width プロパティを追加する必要があります。
例えば。
<!DOCTYPE html>
<head>
</head>
<body>
<div class="element">
</div>
<div class="element">
</div>
</body>
</html>
//CSS
.element {
display: inline-block;
width: 100px;
height: 100px;
background: #ce8888;
}
そして出力は次のようになります
ここで例を確認してください
フレックスボックス はウェブページのレイアウトをデザインする最新の方法であり、フレックスボックスは単一のプロパティではなく、その完全なモジュールであり、多くの機能を備えています。
フレックスボックスを使用して div を隣り合わせに配置する方法を見てみましょう
//htmlファイル
<!DOCTYPE html>
<head>
<link rel="stylesheet" href="index.css" />
</head>
<body>
<div class="container">
<div class="item">
</div>
<div class="item">
</div>
</div>
</body>
</html>
// cssファイル
.container {
display: flex;
}
.item {
background: #ce8888;
flex-basis: 100px;
height: 100px;
margin: 5px;
}
//出力
表示: コンテナに与えられた flexプロパティ。 flex コンテキスト内に子要素を作成し、div を隣り合わせに配置します。
上の例では、アイテムの最小幅を指定するために使用される flex-basis プロパティを使用していることがわかります。
ここでデモを見つけてください
CSS グリッドは、Web ページをデザインするためのもう 1 つの優れたアプローチであり、多数の機能を備えた完全なモジュールです。
CSS グリッドを使用して div を並べて表示する方法を見てみましょう
//html
<!DOCTYPE html>
<html>
<head>
<title>Grid Example</title>
<style>
</style>
</head>
<body>
<div class="container">
<div class="item">
</div>
<div class="item">
</div>
</div>
</body>
</html>
//cssファイル
.container {
display: grid;
grid-template-columns: 100px 100px;
grid-template-rows: 100px;
grid-column-gap: 5px;
}
.item {
background: #ce8888;
}
そして出力は次のようになります
プロパティ表示: グリッドはグリッド レイアウト構造をオンにします
CSS ファイルでは、grid-template-columns プロパティはページを列数に分割するのに役立ちます。100px を 2 回指定すると、2 つの列が作成されます。
ここでデモを見つけてください
表示: table プロパティは <table> タグの代替です
display: tableプロパティを使用して div を並べて表示する方法を見てみましょう
//htmlファイル
<!DOCTYPE html>
<head>
<link rel="stylesheet" href="index.css" />
</head>
<body>
<div class="container">
<div class="table-row">
<div class="table-cell">
</div>
<div class="table-cell">
</div>
</div>
</div>
</body>
</html>
//cssファイル
.container {
display: table;
width: 20%;
}
.table-row {
display: table-row;
height: 100px;
}
.table-cell {
border: 1px solid;
background: #ce8888;
display: table-cell;
padding: 2px;
}
そして出力は次のようになります
ここでデモを見つけてください
html tableタグを使用して、表示: table の例を以下のようにコード化することもできます。
//htmlファイル
<!DOCTYPE html>
<head>
<link rel="stylesheet" href="index.css" />
</head>
<body>
<table class="container">
<tr class="table-row">
<td class="table-cell">
</td>
<td class="table-cell">
</td>
</tr>
</table>
</body>
</html>
//cssファイル
.container {
display: table;
width: 20%;
}
.table-row {
display: table-row;
height: 100px;
}
.table-cell {
border: 1px solid;
background: #ce8888;
display: table-cell;
padding: 2px;
}
そして出力は次のようになります
CSS float プロパティは要素をコンテナの左側または右側に配置し、テキストとインライン要素が要素を囲むことを許可します。要素はページの通常のフローから削除されますが、フローの一部は残ります。
float を使用して div を並べて表示する方法を見てみましょう
//htmlファイル
<!DOCTYPE html>
<head>
</head>
<body>
<div class="element">
</div>
<div class="element">
</div>
</body>
</html>
//cssファイル
.element {
float: left;
width: 100px;
height: 100px;
background: #ce8888;
margin: 5px
}
そして出力は次のようになります
ここでデモを見つけてください
div を隣り合わせに配置する方法はたくさんありますが、問題はどれが良いかです。
それは完全に要件に依存します
フレックスボックスと CSS グリッドは、Web ページのレイアウトを行う最新の方法であり、完全なモジュールであり、多くの機能が付属しています。ページ全体をレイアウトする必要がある場合は、フレックスボックスまたは CSS グリッドをお勧めします。
最小限の要件がある場合は、display: inline-block が最適なオプションです。
気に入ったらシェアしてください。シェアすることは思いやりがあるからです?
#css