ホーム自己紹介ブログ
NO.130
DATE2024. 11. 16

Every Layoutを読みました

先日、『Every Layout - モジュラーなレスポンシブデザインを実現するCSS設計論』を読みました。 CSS設計に関する深い洞察が詰まった一冊で、多くの学びを得られました。本記事では、その中で特に印象に残ったポイントを紹介します。

CSS設計の基本方針: ブラウザに計算させる

CSSを書く際に、"height: 100px;" や "width: 100px;" のような絶対値を使うと、表示するデバイスやビューポートによって崩れる可能性があります。 これを防ぐには、相対的な値を活用するのが有効です。

例えば、以下のような単位や手法を使うことで、レスポンシブなデザインを実現できます。

  • 相対単位: em、ch、vw、cqw など
  • パーセンテージ:"width: 100%"
  • 関数:"calc() で動的な値を計算
  • コンテナクエリ:親要素に応じたスタイリングを可能にする

相対的な指定にすることで、ブラウザが親要素やビューポートのサイズを元にスタイルを計算してくれるため、デザインの柔軟性が向上します。 特にコンテナクエリは、より精密なレスポンシブデザインを可能にするため、積極的に使いたい機能です。

参考リンク:length - CSS: カスケーディングスタイルシート | MDN

そのため、CSSを書く際にpxを見かけたら「もっと相対的にできないか?」を考えるのが私の習慣になっています。 メディアクエリを極力使わずに対応できることを目指してみるのも面白いアプローチだと思います。

レイアウトの責任はどこに置くべきか

リスト表示のUIを作成する際、リストアイテム間のスペースをどこで制御するべきか迷うことがあります。私は以下のアプローチが有効だと考えています。

  • リスト全体で制御

flexのgapや、以下のようなCSSルールでリスト要素間のスペースを管理します。

.list > * + * {
margin-top: 1rem;
}

このように、子要素ではなく親要素にスペース管理を委ねると、個別要素の再利用性が高まります。 特に、要素が自分の外側のスタイル(marginなど)を持つと、再利用時に制約が生じやすいため注意が必要です。

また、スペースの管理には以下を使い分けるのが重要です。

  • padding: 要素の内側のスペースに使用
  • margin: 要素間のスペースを管理する際に使用

この考え方を元に、flexやgridを使いこなせば、効率的なレイアウト設計が可能です。 また、最近ではサブグリッドも利用できるようになり、複雑なカードレイアウトでも縦横の整列が容易になっています。

まとめ

『Every Layout』はCSS設計の新しい視点を与えてくれる良書でした。 特に、 「ブラウザに計算させる」という考え方や、「レイアウトの責任を親要素に持たせる」 というアプローチは、日々の実装にすぐに役立つ内容です。

CSSにおける「責任の分離」を意識することで、再利用性が高く、メンテナンス性の良いコードを目指せます。ぜひ興味のある方は一読してみてください!

書籍レビュー
フロントエンド

-

読者になる

|

シェアする

|

silverbirders

silverbirder

Webソフトウェアエンジニア
個人ブログキュレーション こぶりー 運営

ブログを応援する

この記事がよかったら、お布施という形で応援してもらえるとうれしいです。

おふせぼたん

※ ログイン不要で投稿できます。

※ 同じブラウザから投稿を削除できます。

0

読み込み中...

次の記事へ前の記事へ

関連する記事

タグ「書籍レビュー」の記事

『だけじゃない ケイセン デザイン』を読みました。

今日は休みなので、以下の罫線についてのデザイン本を読みました。 https://www.sbcr.jp/product/4815637484/ テレビとかをみながら読んだので、少し粗めですが感想を書きます。 誰向け? この本は、おそらくデザ

2026年07月22日

書籍レビュー
『だけじゃない ケイセン デザイン』を買いました。

以下の書籍を購入しました。 https://www.sbcr.jp/product/4815637484/ まだ読めていません。 経緯 以下の記事で書いたように、『表層UIデザインの解剖学』という書籍から UIデザインで気づく観点を養うこと

2026年07月21日

書籍レビュー
『表層UIデザインの解剖学』を読みました。

技術評論社 から出版された『表層UIデザインの解剖学』を読みました。 https://gihyo.jp/book/2026/978-4-297-15706-7 本記事では、読了した感想について記録したいと思います。 UI と物理世界 UI

2026年07月12日

書籍レビュー

タグ「フロントエンド」の記事

モジュールアップデートでやっていること

ITヲタクな AI くんにピッタリな仕事の一つは、モジュールアップデート。 特に、メジャーアップデートが超助かる。 昔だったら 数ヶ月掛かった移行も、数日たらずに対応できるようになったので、 さすが ITヲタクくん。 対応してよかったフロー

2026年07月24日

AI
フロントエンド
写経テストコードを全部消した

以下で書いた通り、プロダクトコードを写経したテストコードを削除しました。 "こぶりー" ( https://kobliy.vercel.app/ ) という個人ブログを読むアプリのコードです。 https://silverbirder.gi

2026年06月08日

AI
フロントエンド
テスト
念の為に、手動確認をしよう

最近のお悩みは、Webのソフトウェア開発におけるテストコードが爆増したことにより、 テスト成功による過度な安心感 によって手動確認するのが減っているのかもと思ったりしています。 例えば、Webのフォーム画面に小さな改修があったとして、その修

2026年06月03日

AI
フロントエンド
← ブログ一覧へ