[css] グリッドレイアウトで整理されたタイル表示

Pocket
LINEで送る
GREE にシェア
LinkedIn にシェア

ブログの記事一覧や、商品ラインナップなどを表示する時に、数多く見せようと考えるとリスト表示よりもタイリング表示の方が効率的です。
 

タイリング表示
 
スクリーンショット 2018-01-20 7.59.59
 

リスト表示
 
スクリーンショット 2018-01-20 8.00.08
 

これらの表示特製も踏まえてタイリング時に便利な「FlexBox」という手法をメモしておきます。
 

今回の記事は前回書いたサムネイル表示の続きとして書いています。
 

[css] サムネイル画像の中央表示(トリミング)

表示方法あれこれ

タイリング表示とサムネイル表示の他に「Masonry」というのがあり、レンガなどの互い違いやサイズの違うモノのタイリング表示に使う表示方法です。
 

スクリーンショット 2018-01-20 8.31.03
 

WEBページで使うときは、画像など固定サイズのものを表示する際は、タイリング表示が良く、コメントなどの詳細を重要視する場合は、リスト表示、文字数などが一定でないブログのタイトルやニュース記事表示などには、Masonryが良さそうです。
 

ところで、「Masonry」ってなんて読むんだろう?って思っていたら「メイソンリー」とか「メイソリー」という風に読むらしいです。
 

参考:weblio
 

他にもマックのデスクトップでおなじみの「CoverFlow」というのもあります。
 

スクリーンショット 2018-01-20 8.35.07
 

これは、CDなどのアルバムジャケットを表示する時に有効なのかもしれませんが、僕は通常ではほぼ使いません。

FlexBox

今回はタイリング表示におけるCSSで「FlexBox」というテクニックを使ってみました。
 

通常のタイリング表示は、サイズ固定であればいいのですが、記事内容によって縦サイズが変わる場合、下記のような状態になる事があります。
 

スクリーンショット 2018-01-20 8.42.17
 

画像をみてわかる通り、項目が左上から右側に向けて並んでいるんですが、004の項目が少し長くなっているため、開業された「test-2」という項目は、引っかかって表示されている状態になります。
 

これを回避するには、横にならぶ項目の高さを一定にする必要がありますが、CSSだけで行おうとすると、全ての項目のサイズを変更することになってしまいます。
 

ここで便利なのが「box-sizing」という方式で「flex」という属性を使うと、横一列の高さを統一してくれるという便利機能があります。
 

cssの記述は、以下の通りです。
 

 

 

通常の指定は前回記事をご覧ください。それに上記指定を加えてあげると、以下のように整った表示になります。
 

スクリーンショット 2018-01-20 8.48.30
 

文字数が違って縦サイズが違うはずなのに、横並びで揃っている事がわかります。
 

JSのライブラリを使ってこうしたサイズ調整をする事もできますが、表示スピードや端末電力負荷などを考えると、CSSで簡単に行う事が最善にも思えます。
 

ただし、CSSは、ブラウザ依存する可能性も高いので、表示確認を怠らないようにしましょう。
 

この記事もGoogleChromeでしか表示確認していないので、ほかのブラウザでは、崩れているかもしれません。

Leave a Reply

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です