アイデア次第!「CSSグリッド」を使ってレスポンシブ対応の3カラムサイトを作ってみよう
STEP2. グリッドを考える
2-1. グリッドの考え方
CSSグリッドはTABLEレイアウトやFlexboxレイアウトなどの様々なグリッドシステムに比べて、これまで以上にシンプルな考え方でWebサイトを構築することができます。
より簡単に言えば、CSSグリッドシステムを構築するのに必要なのは、以下の2つだけです。
1. グリッドのデザイン
2. 異なるViewportでグリッドがどのように振る舞うか
グリッドのデザインについてはSTEP1で見てきたので、STEP2で*「異なるViewportによる挙動」*を設定していきます。
2-2. モバイル版レイアウトを作成
レスポンシブデザインでWebサイトを作る際に、最も簡単な方法はモバイル版のレイアウトを先に作っていくことです。理由はいくつか挙げられますが、1番はグリッドコンテナの中に入れていくグリッドアイテムが、CSSグリッド適用前だと1カラムに並ぶので、イメージしやすいからです。
ただし、デスクトップ版では表示するけれど、モバイル版では表示しないものについては、一旦フッターエリアの下に入れておきましょう。
2-3. グリッドのベースを作成
続いて、デスクトップ版のカラムレイアウトを作成してみましょう。
まずは、親要素であるグリッドコンテナーを配置して、縦横に線を分割してみましょう。
最初に、display: gridを指定することで親要素をグリッドコンテナー化します。次に、grid-template-columnsプロパティを指定して縦の線を引っ張ります。均等に分割するために、*「fr」(fractions)*という単位を利用できます。
ここでは、チュートリアルとして3x3のカラムを作成していきます。
grid-template-columns: 1fr 2fr 1fr;
縦と同様に、横の線をgrid-template-rowsプロパティで指定していきます。
grid-template-rows: 100px auto 100px;
これで、3x3のカラムが完成しました。
ちなみに、任意ですが、grid-template-areasプロパティを使ってエリアに名前を付けることができます。
例えば、下記のような場合では、9分割したグリッドコンテナーのエリアに名前を付けています。
.site {
display: grid;
grid-template-colmn: 1fr 2fr 1fr;
grid-template-rows: 100px auto 100px;
grid-template-areas:
"header header menu"
"navigation content ad"
"footer footer footer"
}
このように指定すると、下図のように名前が付けられたことになります。同じ名前を付けているエリアがあるという点は、非常に重要です。
2-4. グリッドにコンテンツを流し込む
続いて、グリッドにコンテンツを流し込んでいきます。
グリッドの名前がすでにgrid-template-areasプロパティで付けられていれば、あとは簡単です。
.header {
grid-area: header;
}
.content {
grid-area: content;
}
// 以下同様
このようにすれば、先ほど付けたタイトルにグリッドを流し込むことができます。
2-5. メディアクエリで操作
最後に、レスポンシブの挙動を加えていきます。
ここでは、仮にブレイクポイントを800pxにして考えていきます。考え方について重要な点は、次の2点です。
1. 800px以上ではdisplay: gridを、それ以外ではdisplay: boxを適用
2. 800px以上で表示するコンテンツはgrid-areaを正確に指定、それ以外ではgrid-area: autoにして、表示しないコンテンツはdisplay:noneを指定
こうすることで、800px以上での挙動とそうではない場合をわけることができます。
- CS
- CSとはCustomer Satisfactionの略称で「顧客満足度」を意味します。顧客との関係維持、サービスの発展に関するマーケティング戦略に関わる用語です。
- レイアウト
- レイアウトとは、もともと「配置」や「配列」を指す語です。ここでは、「ホームページレイアウト(ウェブレイアウト)」と呼ばれる、ホームページにおけるレイアウトについて説明します。
- Webサイト
- Webサイトとは、インターネットの標準的な情報提供システムであるWWW(ワールドワイドウェブ)で公開される、Webページ(インターネット上にある1ページ1ページ)の集まりのことです。
- CS
- CSとはCustomer Satisfactionの略称で「顧客満足度」を意味します。顧客との関係維持、サービスの発展に関するマーケティング戦略に関わる用語です。
- Webサイト
- Webサイトとは、インターネットの標準的な情報提供システムであるWWW(ワールドワイドウェブ)で公開される、Webページ(インターネット上にある1ページ1ページ)の集まりのことです。
- レイアウト
- レイアウトとは、もともと「配置」や「配列」を指す語です。ここでは、「ホームページレイアウト(ウェブレイアウト)」と呼ばれる、ホームページにおけるレイアウトについて説明します。
- CS
- CSとはCustomer Satisfactionの略称で「顧客満足度」を意味します。顧客との関係維持、サービスの発展に関するマーケティング戦略に関わる用語です。
- レイアウト
- レイアウトとは、もともと「配置」や「配列」を指す語です。ここでは、「ホームページレイアウト(ウェブレイアウト)」と呼ばれる、ホームページにおけるレイアウトについて説明します。
- コンテンツ
- コンテンツ(content)とは、日本語に直訳すると「中身」のことです。インターネットでは、ホームページ内の文章や画像、動画や音声などを指します。ホームページがメディアとして重要視されている現在、その内容やクオリティは非常に重要だと言えるでしょう。 なお、かつてはCD-ROMなどのディスクメディアに記録する内容をコンテンツと呼んでいました。
- タイトル
- ホームページのソースに設定するタイトル(title)とは、ユーザーと検索エンジンにホームページの内容を伝えるためのものです。これを検索エンジンが認識し検索結果ページで表示されたり、ユーザーがお気に入りに保存したときに名称として使われたりするため、非常に重要なものだと考えられています。「タイトルタグ」ともいわれます。
おすすめ記事
おすすめエントリー
同じカテゴリから記事を探す
カテゴリから記事をさがす
●Webマーケティング手法
- SEO(検索エンジン最適化)
- Web広告・広告効果測定
- SNSマーケティング
- 動画マーケティング
- メールマーケティング
- コンテンツマーケティング
- BtoBマーケティング
- リサーチ・市場調査
- 広報・PR
- アフィリエイト広告・ASP
●ステップ
●ツール・素材
- CMS・サイト制作
- フォーム作成
- LP制作・LPO
- ABテスト・EFO・CRO
- Web接客・チャットボット
- 動画・映像制作
- アクセス解析
- マーケティングオートメーション(MA)
- メールマーケティング
- データ分析・BI
- CRM(顧客管理)
- SFA(商談管理)
- Web会議
- 営業支援
- EC・通販・ネットショップ
- 口コミ分析・ソーシャルリスニング
- フォント
- 素材サイト
●目的・施策
- Google広告
- Facebook広告
- Twitter広告
- Instagram広告
- LINE運用
- LINE広告
- YouTube運用
- YouTube広告
- TikTok広告
- テレビCM
- サイト制作・サイトリニューアル
- LP制作・LPO
- UI
- UX
- オウンドメディア運営
- 記事制作・ライティング
- コピーライティング
- ホワイトペーパー制作
- デザイン
- セミナー・展示会
- 動画・映像制作
- データ分析・BI
- EC・通販・ネットショップ
- 口コミ分析・ソーシャルリスニング