概要

gusuku Everysiteのレイアウト作成において、要素のサイズを指定する方法はいくつかあります。本ドキュメントでは、pxvwvh%remのそれぞれの指定方法の特長と、メリット・デメリットをまとめます。プロジェクトや要素の特性に応じて適切な指定方法を選択することで、柔軟でメンテナンス性の高いデザインを実現できます。


サイズ指定方法の特長と使い分け

指定方法

特長

メリット

デメリット

主な用途

px (ピクセル)

絶対的なサイズ指定。スクリーン上の1ピクセルに対応。

直感的で分かりやすい。デザインの再現性が高い。

レスポンシブ対応が難しい。ユーザーの環境(画面サイズ、ズームレベル)に依存しない。

画像、アイコン、罫線など、サイズ変更を想定しない要素。

vw (Viewport Width)

ビューポート(画面)の幅を基準とした相対サイズ指定。ビューポート幅の1%が1vw。

画面サイズに連動して要素サイズが変わるため、フルードグリッドなどのレスポンシブデザインに適している。

画面の縦横比によっては、要素が極端に大きくなったり小さくなったりする場合がある。

全画面表示したい要素(下部※参照)、メインビジュアル、タイポグラフィのサイズ調整など。

vh (Viewport Height)

ビューポート(画面)の高さを基準とした相対サイズ指定。ビューポート高さの1%が1vh。

画面の高さに連動して要素サイズが変わるため、特に高さを基準としたレイアウト調整に適している。

画面の縦横比によっては、要素が極端に大きくなったり小さくなったりする場合がある。

ビューポートの高さを基準に設定したい要素。フルスクリーン表示のスライダーの高さや、コンテナの最小の高さなど。

(パーセント)

親要素のサイズを基準とした相対サイズ指定。

親要素に対する比率でサイズを指定できるため、レイアウトの調整が容易。

親要素のサイズが複雑な場合、計算が難しくなる。ネストが深くなると予期せぬ結果になる場合がある。

コンテンツ幅、パディング、マージンなど、親要素のサイズに依存する要素。

rem (Root Em)

ルート要素(<html>)のフォントサイズを基準とした相対サイズ指定。

ユーザーのブラウザ設定(文字サイズ)に合わせてサイズが変更されるため、アクセシビリティが高い。レスポンシブデザインにも適している。

ルート要素のフォントサイズを変更すると、すべてのrem指定要素に影響する。

テキスト関連の要素、特にフォントサイズや行の高さなど。


※幅100vwを指定して全画面表示にしたい場合でも、ブラウザによっては、スクロールバーの幅分はみ出るため、横スクロールが発生する場合があります。
参考:100vwで画面からはみ出るのはスクロールバーの幅を含むから【解決方法は?】


サイズ指定の使い分けの原則

  1. 絶対的なサイズが必要な場合pxを使用します。(例:罫線の太さ、特定のアイコンサイズ)

  2. 画面幅に連動させたい場合vwを使用します。(例:メインビジュアルの高さ、画面幅いっぱいに広がる要素)

  3. 画面の高さに連動させたい場合vhを使用します。(例:画面いっぱいのヒーローセクション、スクロールを伴わない要素)

  4. 親要素との相対的な比率で指定したい場合%を使用します。(例:コンテナ内のカラム幅、パディング)

  5. アクセシビリティを考慮し、ユーザーの文字サイズ設定に連動させたい場合remを使用します。(例:フォントサイズ、行間、マージン)


応用: remとpxの併用

  • ベースとなるフォントサイズや主要な間隔にはremを使用し、ユーザーの設定に柔軟に対応できるようにします。

  • ブレイクポイントの設定(下部※参照)や、デザイン上でサイズが固定であるべき要素(例:画像やアイコンの基本サイズ)にはpxを使用することで、柔軟性とデザインの正確性を両立できます。


※現在、ユーザー側でブレイクポイントの設定をする機能はありません。エブリサイトが指定するブレイクポイントはあります。(2025/12/16現在)


レイアウトに関する制約 (補足)

gusuku Everysiteでは、現時点でCSSのcalc()に相当する機能は提供されていません。(2025/12/16現在)


そのため以下のようなレイアウトは現状、実現が難しい点にご留意ください。


  • 固定幅・固定の高さのタイル可変タイル(%やvw/vh指定)を組み合わせて、常に画面の幅・高さにぴったり収まるような動的な全画面レイアウト。

    • 例: ヘッダー(固定50px)とメインコンテンツ(残りの高さ)を組み合わせたレイアウト。


レイアウト設定においては、先に説明したpxvw%などの単位指定と、「内容に応じて幅/高さを拡張する」設定を組み合わせて対応してください。


レイアウト設定「内容に応じて幅を拡張する」

各タイルの「レイアウト設定」には、「幅」タブに「内容に応じて幅を拡張する」、「高さ」タブに「内容に応じて高さを拡張する」というチェック項目が用意されています(初期設定ではオン)。


この設定は、タイル内に配置されたコンテンツ(内容)に合わせて、タイルの幅や高さを自動的に広げるかどうかを選択するためのものです。


例えば、「幅」の指定サイズよりも大きなコンテンツが挿入された場合、以下のような挙動の違いがあります。

  • 「内容に応じて幅を拡張する」を選択した場合:
    コンテンツのサイズに合わせて、タイルも幅が拡張されます。

  • 「内容に応じて幅を拡張する」を選択しない場合:
    コンテンツは指定したタイルの幅とは関係なく描画され、タイルの幅は変わりません。


補足: どちらの指定方法でも、挿入されるコンテンツが大きい場合は、画面の表示範囲を超えてはみ出す可能性がある点にご留意ください。


「レイアウト設定」のその他の設定項目については、以下の記事も併せてご確認ください。

ウィジェット編集画面全体とウィジェットの設定および編集について