リキッドレイアウトとは、要素の幅を固定ピクセルではなくパーセンテージやその他の相対単位で指定するレイアウト手法です。このレイアウトはブラウザウィンドウのサイズに比例して拡縮し、どの画面でもページ構造を維持します。MDN Web Docs(2026年)によると、リキッドレイアウトはモダンなレスポンシブデザインの基盤となりましたが、現在では純粋な形で使用されることはほとんどありません。
ポイント
リキッドレイアウト(liquid layout、fluid layout)— 要素のサイズを固定ピクセルではなく相対単位で指定するレイアウト手法です。これにより、ページは水平スクロールなしでブラウザウィンドウに合わせて拡縮できます。
リキッドレイアウトの概念は、さまざまな解像度のデスクトップモニターの時代に生まれました。2000年代には、960ピクセルの固定幅のサイトが15インチと30インチのモニターで見栄えが悪くなっていました。リキッドレイアウトがこの問題を解決しました。
Web Almanac(2024年)によると、現代のウェブサイトの78%が相対単位を通じてリキッドレイアウト要素を使用しています。純粋なリキッドレイアウトはそれほど一般的ではなく、主にダッシュボードや管理画面で使用されています。
リキッドレイアウトは、2000年にJohn Allsoppが発表した記事「A Dao of Web Design」で固定ピクセルを放棄し相対単位を採用するよう呼びかけたことをきっかけに普及しました。このマニフェストは、レスポンシブデザイン全体の哲学的基盤を築きました。
CSSの主な相対単位は2つのグループに分けられます:親要素に対するもの(パーセンテージ)とビューポートに対するもの(vw、vh、vmin、vmax)です。各グループはリキッドレイアウトにおいて固有の役割を果たします。
/* Percent — width relative to parent */
.sidebar {
width: 30%;
}
.content {
width: 70%;
}
/* vw/vh — viewport-based units */
.hero-section {
width: 100vw;
height: 80vh;
}
.fullscreen-modal {
width: 90vmin;
}
パーセンテージは親コンテナの幅に対して計算されます。入れ子になったパーセンテージはカスケード計算を生み、予期しない結果をもたらすことがあります。vw/vh単位はビューポートに連動し、親コンテナを無視します—これはフルスクリーンセクションに便利です。
リキッドレイアウトでは、ブロックの幅を相対単位で指定するだけでなく、フォントサイズも重要です。rem単位(root em)はテキストサイズをルートHTML要素に結び付けます。htmlのfont-sizeを変更することで、ページ上のすべてのテキストを拡縮できます。
/* Global text scaling via rem */
html {
font-size: 62.5%; /* 1rem = 10px */
}
.heading {
font-size: 2.4rem; /* = 24px */
}
.body-text {
font-size: 1.6rem; /* = 16px */
}
主な違いは、リキッドレイアウトとアダプティブレイアウトの間で、幅の変化の性質にあります。リキッドレイアウトはウィンドウのサイズ変更に応じて継続的に変化するのに対し、アダプティブレイアウトはメディアクエリを通じて離散的に変化します。
リキッドレイアウトは継続的な拡縮、アダプティブレイアウトは固定レイアウト間の切り替えです。各アプローチには長所と短所があります。
| 特性 | リキッドレイアウト | アダプティブレイアウト |
|---|---|---|
| 単位 | %、vw、rem | px、固定幅 |
| 拡縮 | スムーズで継続的 | ブレークポイントで段階的 |
| 画面対応 | あらゆる幅 | 指定された解像度のみ |
| 複雑さ | 低い | 高い(メディアクエリが必要) |
| 制御 | 制御が少ない | ブレークポイントで完全制御 |
実際には、ほとんどのモダンなウェブサイトはハイブリッドアプローチを採用しています:相対単位のリキッドグリッド+重要なブレークポイント用のメディアクエリ。メディアクエリなしの純粋なリキッドレイアウトは、非常に広い画面や非常に狭い画面で見栄えが悪くなることがあります。
基本的な実装には3つの要素があります:相対的な幅の単位、最大/最小の制約、そしてスペース配分のためのflexboxまたはgridです。
/* Fluid grid with Flexbox */
.container {
display: flex;
flex-wrap: wrap;
}
.card {
flex: 1 1 30%;
min-width: 250px;
}
/* Fluid grid with CSS Grid */
.grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}
Flexboxアプローチ(flex: 1 1 30%)は、コンテナ幅の約30%を占めつつ250pxまで縮小可能なカードを作成します。カードが多い場合は次の行に折り返されます。Gridアプローチ(auto-fitとminmax)は、コンテナに収まるカラムを自動的に作成します。
純粋なリキッドレイアウトの主な問題は、非常に広い画面でテキスト行が2000+ピクセルにまで伸び、読み取りが不可能になることです。CSSプロパティのmin-widthとmax-widthがこれを解決します。
/* Container limits for readability */
.content-wrapper {
width: 90%;
max-width: 1200px;
min-width: 320px;
margin: 0 auto;
}
max-width: 1200pxは、超ワイドモニターでコンテンツが伸びるのを防ぎます。min-width: 320pxは、小さな画面でコンテナの最小幅を保証します。width: 90% + max-widthの組み合わせは、上限付きのリキッドコンテナを作成します—モダンなウェブデザインで最も人気のあるパターンです。
HTTP Archive(2025年)によると、トップ1000のサイトの92%がコンテンツブロックにmax-widthを使用しています。デスクトップレイアウトの標準値は1140〜1200ピクセルです。
モダンなウェブデザインでは、リキッドまたはアダプティブのいずれかを純粋な形で使用することは稀です。ハイブリッド手法は両方の利点を組み合わせます:相対単位のリキッドグリッド+グローバルな再構築のためのメディアクエリ。
/* Hybrid: fluid base + media query */
.layout {
display: grid;
grid-template-columns: 1fr 3fr;
}
@media (max-width: 768px) {
.layout {
grid-template-columns: 1fr;
}
}
デスクトップでは、レイアウトはリキッドカラム1frと3frを使用します—比率はどのウィンドウ幅でも維持されます。モバイルでは、メディアクエリがシングルカラムに切り替わり、カラムが垂直に積み重なります。
ハイブリッドアプローチの利点は、リキッドグリッドが中間サイズに自動的に適応するため、開発者が書くメディアクエリが少なくなることです。メディアクエリは、画面幅のステップごとではなく、重要な構造変更の場合にのみ必要です。
よくある質問
リキッドレイアウトは相対単位を使用し、ウィンドウの変更に応じてスムーズに拡縮します。アダプティブレイアウトはメディアクエリを通じて固定テンプレート間を切り替えます。モダンなウェブサイトは通常、両方のアプローチを組み合わせています。
コンテナにはパーセンテージ(%)とfr(flex/grid)。フォントにはrem(ルート要素に対する相対)。フルスクリーンセクションにはvw/vh。これらの単位の組み合わせが最大の柔軟性を提供します。
非常に広い画面では、テキスト行が長くなり読みづらくなります。非常に狭い画面では、要素が読み取れないサイズまで縮小する可能性があります。解決策は、max-widthとmin-widthを使用して拡縮を制限することです。
Googleはメディアクエリを使用したレスポンシブデザインを推奨していますが、リキッドレイアウトを禁止してはいません。SEOの観点からは、レイアウトの種類よりも、ページがモバイルデバイスで正しく表示されることの方が重要です。
はい、リキッドレイアウトはCSS Gridよりずっと前から存在していました。float、inline-block、flexbox、テーブルベースのレイアウトで実装可能です。FlexboxとGridは、このタスクのためのモダンで最も便利なツールです。
まとめ
ターンキー方式のモバイルアプリケーションを開発します
IT Sectrは2017年からスタートアップや企業向けにiOS・Androidアプリケーションを開発しています。私たちがご相談に乗り、最適なソリューションをご提案します。