レスポンシブデザインモード

レスポンシブデザイン (en-US) は、さまざまな端末、特にデスクトップやラップトップだけでなく、携帯電話やタブレットでも適切に表示および動作するウェブサイトを設計することです。

もっとも明らかな要素は画面のサイズですが、ほかにもディスプレイの画素密度やタッチをサポートするかといった要素があります。レスポンシブデザインモードは、さまざまな端末でウェブサイトがどのように表示および動作するかを確認するために、これらの要素をシミュレーションする手段を提供します。

レスポンシブデザインモードの切り替え

レスポンシブデザインモードを切り替える方法は 3 つあります。

  • Firefox メニューのウェブ開発サブメニュー (メニューバーを表示している場合や macOS ではツールメニュー) のウェブ開発サブメニューでレスポンシブデザインモード>を選択します。
  • 開発ツールのツールボックスで、ツールバー の [レスポンシブデザインモード] ボタンを押します。
  • キーボードで Ctrl + Shift + M (OS X では Cmd + Opt + M) を押下します。

レスポンシブデザインモードの操作

レスポンシブデザインモードを有効にすると、ウェブページのコンテンツ領域が特定の端末の画面のサイズに設定されます。初期状態は 320 x 480 ピクセルです。

メモ: レスポンシブデザインモードで選択した端末とその向き (縦または横) は、セッションをまたいで保存されます。

選択した端末の情報がディスプレイの中央に表示されます。表示内容は左から右に向かって次のようになっています。

  • 選択中の端末の名前 - 「端末設定」画面で選択した端末が表示されるドロップダウンリストです。
  • 画面サイズ - 幅の高さの値を編集して端末サイズを変更するには、数値を直接編集したり、 キーで値を 1 ピクセルずつ増減させたり、 Shift を押しながら押すと値を 10 ずつ変化させたりすることができます。
    • マウスホイールでは、サイズの値を 1 ピクセルずつ変化させることができます
    • また、ビューポートの右下隅をつかみ、希望の大きさにドラッグすることで、端末の画面サイズを変更することができます。
  • 方向 (縦または横) - このセッションはセッションをまたいで保持されます
  • DPR (ピクセル比) - Firefox 68 以降では、 DPR は編集できなくなりました。 DPR を変更するには新しい端末を作成してください
  • 帯域制限 - 2G, 3G, LTE など、適用する接続の帯域制限を選択できるドロップダウンリストです
  • タッチシミュレーションの有効化/無効化 - レスポンスデザインモードがタッチイベントをシミュレートするかどうかを切り替えます。タッチイベントシミュレーションが有効になっている場合は、マウスイベントがタッチイベントに変換されます。これには (Firefox 79 以降では) マウスドラッグイベントのタッチドラッグイベントへの変換も含まれます。 (なお、タッチシミュレーションが有効になると、ツールバーアイコンが青くなります。シミュレーションが無効になると、アイコンが黒くなります。

画面の右端には 3 つのボタンがあり、次のようなことができます。

  • カメラボタン - スクリーンショットを撮ります
    • スクリーンショットは Firefox の既定のダウンロード先に保存されます。

    • 開発者ツールの設定ページにある「スクリーンショットをクリップボードへコピー」がチェックされている場合、スクリーンショットはシステムクリップボードのにコピーされます。

  • 設定ボタン - レスポンスデザインモードの設定メニューを開きます
  • 閉じるボタン - レスポンスデザインモードを閉じ、通常の閲覧に戻ります

設定メニューには次のようなコマンドがあります。

  • 左寄せビューポート - チェックした場合、レスポンシブデザインモードのビューポートがブラウザーウィンドウの左端に移動します
  • ユーザーエージェントを表示 - チェックした場合、ユーザーエージェント文字列を表示します
  • 最後の 2 つの選択肢は、いつページが読み込まれるのかを定義します。
    • タッチシミュレーションが変更されたときに再読み込み: このオプションが有効になった場合は、タッチ対応を切り替えるたびにページが再読み込みされます。
    • ユーザーエージェントが変更されたときに再読み込み: このオプションが有効になった場合は、ユーザーエージェントが変更されるたびにページが再読み込みされます。

これらが変更されたときに再読み込みするようにすると、そうしないと適用されないページの動作があるため便利です。例えば、多くのページでは、ロード時にタッチの対応をチェックし、対応している場合にのみイベントハンドラーを追加したり、特定のブラウザーでのみ特定の機能を有効にしたりしています。

しかし、そのような機能を確認することに興味がない場合 (異なるサイズでの全体的なレイアウトを確認しているだけのような場合)、このような再読み込みは時間を浪費し、生産性の高い仕事を失う可能性があるため、これらの再読み込みを制御できると便利です。

現在は、このような設定を初めて変更したときに、再読み込みが自動的に行われなくなったことを示す警告メッセージと、再読み込みを自動的に行う方法についての情報が表示されるようになっています。例えば、以下のようになります。

レスポンシブデザインモードと開発者ツールボックス

レスポンシブデザインモード自体の切り替えとは別に、開発ツールのツールボックスを表示または非表示にすることができます。

レスポンシブデザインモードを有効にした状態で、コンテンツ領域がリサイズされたまま通常どおりに閲覧を続けることができます。

端末の選択

ビューポートのすぐ上に「no device selected」というラベルがあります。これをクリックすると、端末名の一覧が表示されます。端末を選択すると、レスポンシブデザインモードでは、選択した端末に合わせて以下のプロパティが設定されます。

  • 画面のサイズ
  • 端末の画素密度 (端末の物理ピクセルと端末に依存しないピクセルとの比率)
  • タッチイベントのシミュレーション

さらに Firefox は HTTP の User-Agent リクエストヘッダーを、選択した端末の既定のブラウザーであると名乗るように設定します。例えば iPhone を選択すると、Firefox は自身が Safari であると名乗ります。 navigator.userAgent プロパティも同じ値に設定されます。

ドロップダウンリストにある端末は、選択可能な端末の一部です。ドロップダウンリストの末尾に リストを編集... という項目があります。これを選択すると、すべての選択肢を含むパネルが表れて、ドロップダウンリストに表示したい端末を選択できます。端末一式や各端末に関連付けられている値は、https://github.com/mozilla/simulated-devices から取得できます。

カスタム端末の作成

レスポンシブデザインモードでカスタム端末を追加...をクリックすると、カスタム端末を作成して保存することができます。端末ごとに以下の特性を設定することができます。

  • 名前
  • サイズ
  • 端末ピクセル比
  • ユーザーエージェント文字列
  • タッチスクリーン

また、端末モデル名にマウスポインターを乗せると、既存の端末の特性をツールチップでプレビューできます。

ネットワークの帯域制限

とても高速なネットワーク接続を使用してすべての開発やテストを行っている場合は、低速な接続を使用してアクセスしたときにサイトで問題が発生するかもしれません。レスポンシブデザインモードでは、さまざまな種類のネットワークの特徴に近い形でエミュレートするようブラウザーに指示することができます。

エミュレートするのは以下の特徴です。

  • ダウンロード速度
  • アップロード速度
  • 最小遅延

以下の表で各ネットワークに関連付けられた値を示しますが、正確なパフォーマンスを測定するためにこの機能を頼らないようにしてください。これは、さまざまな状況における使い勝手のおおまかな考え方を示すものです。

選択肢 ダウンロード速度 アップロード速度 最小遅延 (ms)
GPRS 50 KB/s 20 KB/s 500
Regular 2G 250 KB/s 50 KB/s 300
Good 2G 450 KB/s 150 KB/s 150
Regular 3G 750 KB/s 250 KB/s 100
Good 3G 1.5 MB/s 750 KB/s 40
Regular 4G/LTE 4 MB/s 3 MB/s 20
DSL 2 MB/s 1 MB/s 5
Wi-Fi 30 MB/s 15 MB/s 2

ネットワークを選択するには、初期値として [帯域制限なし] と表示されているリストをクリックしてください。