CSSグリッドレイアウトで列数を定義する方法|grid-template-columnsの使い方
CSSグリッドレイアウトで列数を定義する方法
CSSグリッドレイアウトで列数を定義するには、grid-template-columns プロパティを使用します。このプロパティに値をスペース区切りで指定すると、指定した数だけ列が生成されます。
各列の幅は auto のほか、px・%・fr などの単位でも指定できます。例えば、値を3つ並べれば3列のグリッドになります。
サンプルコード
以下のコードでは、3列のグリッドを設定しています。ブラウザで実行して、実際の表示を確認してみてください。
<!DOCTYPE html>
<html>
<head>
<style>
.container {
display: grid;
background-color: yellow;
grid-template-columns: auto auto auto;
padding: 20px;
grid-gap: 20px;
}
.container > div {
background-color: blue;
border: 2px solid gray;
padding: 35px;
font-size: 30px;
text-align: center;
}
</style>
</head>
<body>
<h1>Game Board</h1>
<div class = "container">
<div class = "ele1">1</div>
<div class = "ele2">2</div>
<div class = "ele3">3</div>
<div class = "ele4">4</div>
<div class = "ele5">5</div>
<div class = "ele6">6</div>
</div>
</body>
</html>コードのポイント
- display: grid; … 要素をグリッドコンテナとして定義し、子要素をグリッドアイテムとして扱います。
- grid-template-columns: auto auto auto; … 自動幅(auto)の列を3つ作成し、3列のグリッドを構成します。
- grid-gap: 20px; … グリッドアイテム同士の間隔を20pxに設定します。
補足:repeat() 関数を使った簡潔な書き方
同じ幅の列を繰り返す場合は、repeat() 関数を使うとより簡潔に記述できます。
/* 上記の「auto auto auto」と同じ意味 */ grid-template-columns: repeat(3, auto);
列数が多い場合やレスポンシブ対応を行う場合にも便利なので、覚えておくとよいでしょう。
-
【CSS】Flexboxで作る高度なレイアウト!基本プロパティと実装サンプルを解説
Flexbox(フレックスボックス)とは? CSS3には「Flexible Box Layout(フレキシブルボックスレイアウト)」と呼ばれるレイアウトモードが用意されており、一般的にはFlexbox(フレックスボックス)として知られています。Flexboxを活用することで、従来のfloatやpositionを使った手法よりもはるかに簡単かつ柔軟に、複雑なWebアプリケーションやWebページのレイアウトを構築できます。 Flexboxは「フレックスコンテナ」(親要素)と「フレックスアイテム」(子要素)という2つの概念で構成されます。親要素にdisplay: flex;を指定するだけで、その直下
-
CSSで4列のレイアウトグリッドを作成する方法
CSSで4列のレイアウトグリッドを作成するには、各カラムとなる要素に float: left; を指定し、幅を 25% に設定するのが基本的な手法です。これにより、4つの要素が横一列に均等に並びます。以下に具体的なコード例を示します。 サンプルコード <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1" /> <style> body {