<50代主婦 ゆきんこのチャレンジブログ>
『もう遅い』なんて誰が決めた?50代からでも輝ける、新しい働き方があります! このブログでは、転職・再就職を目指す50代の皆さまに、 未経験でも始められる仕事探し・ 在宅ワーク・副業の始め方・ 面接対策&履歴書の書き方・ 必要な資格情報・ 職業訓練体験談・WEB制作勉強方法・50代からのライフスタイル などを発信しています。

CSSグリッド入門

CSSグリッド入門

CSSグリッドレイアウト入門

CSSグリッドは、ウェブページのレイアウトを作成するための強力なツールです。従来のフロートやフレックスボックスよりも、より複雑で柔軟なレイアウトを簡単に作成できます。

1. グリッドの基本

CSSグリッドを使用するには、まずコンテナ要素に display: grid を設定します。次に、grid-template-columnsgrid-template-rows を使用して、行と列を定義します。


.container {

    display: grid;

    grid-template-columns: 1fr 1fr 1fr;

    grid-gap: 10px;

}

    

基本的なグリッドの例:

アイテム 1
アイテム 2
アイテム 3
アイテム 4
アイテム 5
アイテム 6

frユニットとは?

fr(フラクション)ユニットは、グリッドコンテナの利用可能なスペースを分割する単位です。例えば、1fr 2fr 1fr は、利用可能なスペースを4つの等しい部分に分割し、最初の列に1部分、2番目の列に2部分、3番目の列に1部分を割り当てます。

repeatとminmaxの使用

repeat() 関数を使うと、同じ値を繰り返し指定できます。minmax() 関数は、要素のサイズの最小値と最大値を指定します。


.container {

    display: grid;

    grid-template-columns: repeat(3, 1fr);  /* 1fr 1fr 1fr と同じ */

    grid-template-rows: minmax(100px, auto);

    grid-gap: 20px;

}

    

2. グリッドアイテムの配置

グリッドアイテムは、grid-columngrid-row プロパティを使用して配置できます。


.item {

    grid-column: 1 / 3;  /* 1番目から3番目のラインまで(つまり2列)を占める */

    grid-row: 1 / 2;     /* 1番目から2番目のラインまで(つまり1行)を占める */

}

    

grid-template-areasの使用

grid-template-areas を使用すると、グリッドレイアウトを視覚的に定義できます。


.container {

    display: grid;

    grid-template-areas:

        "header header header"

        "sidebar content content"

        "footer footer footer";

    grid-template-columns: 1fr 2fr 1fr;

}

.header { grid-area: header; }

.sidebar { grid-area: sidebar; }

.content { grid-area: content; }

.footer { grid-area: footer; }

    

grid-template-areasの例:

ヘッダー
サイドバー
メインコンテンツ

3. グリッドアイテムの配置と整列

グリッドアイテムは、justify-items(水平方向)とalign-items(垂直方向)を使用して整列できます。個々のアイテムには、justify-selfalign-selfを使用します。


.container {

    display: grid;

    justify-items: center;  /* 水平方向の中央揃え */

    align-items: center;    /* 垂直方向の中央揃え */

}

.item {

    align-self: end;  /* このアイテムだけ下揃え */

}

    

整列の例:

上揃え
中央揃え
下揃え

4. レスポンシブグリッドレイアウト

CSSグリッドを使用して、レスポンシブなレイアウトを簡単に作成できます。auto-fillauto-fitminmax()を組み合わせると効果的です。


.container {

    display: grid;

    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));

    grid-gap: 20px;

}

    

この設定では、各列が最小200px、最大1frの幅を持ち、ブラウザの幅に合わせて自動的にアイテムが配置されます。

レスポンシブグリッドの例:(ブラウザのサイズを変更して確認してください)

アイテム 1
アイテム 2
アイテム 3
アイテム 4
アイテム 5
アイテム 6

5. まとめ

CSSグリッドは、現代のウェブデザインにおいて非常に強力なレイアウトツールです。主な特徴をまとめると:

  • 二次元(行と列)のレイアウトを簡単に作成できる
  • メディアクエリと組み合わせることで、レスポンシブデザインが容易になる
  • 複雑なレイアウトをより少ないコードで実現できる
  • 視覚的に理解しやすいgrid-template-areasを使用できる

CSSグリッドを使いこなすことで、より柔軟で創造的なウェブデザインが可能になります。ぜひ、あなたのプロジェクトに取り入れてみてください!



 

#WEB制作 #WEBデザイン #HTML #コーディング #学習