プログラミング

プログラミング

フォールバックを考慮したグリッドレイアウト【基本形をしっかり学ぼう】

1,645 views

読了時間 : 約1分52秒

私はCSSグリッドを結構なこと使ってきました。世の中にはグリッドを使ったクリエイティブなレイアウトであふれていますが、基本的なグリッドは今でも通用するデザインパターンだと感じています。サポートクエリを使えばブラウザの個別対応も可能です。今回はフォールバックにも対応した、基本的なグリッドレイアウトの実装方法を紹介します。

 

 

美しくフォールバックする

@supportsを使ったサポートクエリは、ブラウザが特定のCSSプロパティに対応しているかどうかをチェックします。サポートクエリの対応状況は次の通りです。

もしかしたらInternet Explorerが非対応なことに落胆していらっしゃるかもしれませんが、まだ諦めないでください。非対応のブラウザでは@supportsブロックは完全に無視されるので、問題ありません。

 

ひとつ基本的な例を見てみましょう。

 

 

グリッドに対応したブラウザでは、main要素の背景色は緑になります。非対応のブラウザでは赤です。この振る舞いからわかるのは、さまざまな機能が対応しているブラウザでのみ表示され、非対応のブラウザでは表示されず、簡素な見た目になるということです。これを利用してCSSを作ります。

 

 

基本レイアウトとフォールバック

今回は25枚のカードを使ってレイアウトのデモを作ってみました。各カードには画像、タイトル、サブタイトルが含まれており、タイトルとサブタイトルの文字数はさまざまです。このデモで使ったマークアップは、次のようなものです。

 

 

 

inline-blockレイアウト

興味があったため、このレイアウトはIE8でも動くようにテストしました。各カードは固定サイズになっており、全体のレイアウトはビューポートの中心にまとまっています。レスポンシブになっているようです。動画を用意しましたので、確認してみてください。

 

コードはそれほど複雑ではありません。レイアウトのコンテナはdisplay: inline-blockにセットし、text-align: centerで親要素bodyに対してセンタリングしています。

 

 

 

各カードの大きさが固定でいいのであれば、この手法はうまく動作します。ただし高さが異なると問題が起こってきます。

 

IE8の対応を考えると、現在のマークアップは使えません。また、最終列の項目数が行の数よりも少ない場合、問答無用でセンタリングされてしまいます。

しかし、そうした問題はありつつも、inline-blockは優れた手法です。コードが少なくて済み、かつ十分きれいに見えるからです。

 

 

いかがでしたか?本当に基本的な部分のみですが、フォールバックを考慮したグリッドレイアウトを紹介しました。基本テクニックは比較的簡単に作れて効果も高いので、ぜひ使ってみてください。

 

 

 

 

※本記事はBasic grid layout with fallbacks using feature queriesを翻訳・再構成したものです。

【コンビニでも使える!メルペイ初回利用1500円分招待コード】

当サイト限定招待コード:CMUTDF

 
・利用可能店舗:メルカリ、コンビニ、ドラッグストア等
・金額:500円分
※さらにメルペイスマート払で1000円分ポイント!
 友達招待でさらに500円分ポイント!

メルカリ-フリマアプリ&スマホ決済メルペイ

メルカリ-フリマアプリ&スマホ決済メルペイ

無料

 

ピックアップ! さらに今このキャンペーン中です↓

ポイント50%&20%還元『メルペイフィーバー・メルペイサンデー』
■キャンペーン期間:2020/03/01 ~ 2020/03/31

 

 

【MOV初回限定 合計2,000円相当無料クーポン3枚】

クーポンコード:seleqt2000

 
対応地域:神奈川県、東京都、大阪府、京都府、兵庫県(新登場)
 
2000円オフで登録» »MOVの初回利用2000円オフのクーポンを使って登録はこちら!
 
アプリDLはこちらから↓

MOV《モブ》- タクシー配車

MOV《モブ》- タクシー配車

DeNA Co., Ltd.無料

 

 

 

Seleqtをご覧頂いた方だけに「朗報」
\当サイト限定特別クーポン/

【UberEats初回1000円オフクーポン】
interjpq2206j2tw

 

対象店舗:マック、ガスト、スタバ、ピザハット、松屋 等
※1000円分無料で頼めます。〇〇円以上とかもナシ!完全無料でお試しOK
割引額:1000円引き

 

1000円オフで登録» »当サイト限定の初回利用1000円オフのクーポンを使って登録はこちら!

 

アプリDLはこちらから↓

Uber Eats: 地元で人気の料理をお届け

Uber Eats: 地元で人気の料理をお届け

無料

 

おすすめ新着記事

おすすめタグ