Blog ブログ
2023.08.25

【お役立ち情報】レスポンシブデザインのご紹介

お役立ち情報

 

はじめに

こんにちは、株式会社エヌ・エイ・シー システムインテグレーション事業部です。
今回はレスポンシブデザインについてご紹介いたします。

レスポンシブデザインとはなにか

皆さん、「レスポンシブデザイン」とはなにかご存知でしょうか?
レスポンシブデザインとは、ウェブサイトやアプリケーションを、デバイスのサイズに応じて最適化するデザイン手法のことです。
これにより、パソコンやタブレット、スマートフォンなど、様々な端末に対応したWEBサイトを作成することが出来ます。

レスポンシブデザインのパソコンとスマートフォンの画面の比較イメージ

メリットとデメリット

まずは、レスポンシブデザインを使用するメリットとデメリットを確認しておきます。

メリット

1.ユーザーエクスペリエンスの向上
ユーザーは、デバイスのサイズに合わせた見やすさを提供されるため、より快適にウェブサイトやアプリケーションを利用することができます。
2.SEO対策で有利
URLがひとつのレスポンシブデザインサイトは、検索エンジンからのページ評価が分散しないため、SEOの観点からも有利となります。
3.コンテンツの管理の簡易化
URL/HTMLをひとつ用意すればいいレスポンシブデザインは、コンテンツの管理が容易になります。

デメリット

1.Webサイト制作に手間がかかる
レスポンシブデザイン対応のWebサイトは、「パソコンだけ」「スマホだけ」に対応したWeb制作よりも時間と費用がかかります。
2.Webサイトを読み込む速度が遅くなる場合がある
モバイルサイトでもフルサイトを読み込む為、HTML/CSSのサイズの増加の影響も含め動作が重くなることがあります。
3.デバイスごとのデザインに制限が生じる
デバイスによって、お客様の使用用途に合わせた細かい対策をしたい場合などに制限が生じます。

レスポンシブデザインの実装

それでは次に、実際にどのように実装をしていくのかを見ていきたいと思います。

レスポンシブデザインを実現するレイアウトデザインには様々な種類があります。

  • ・レスポンシブレイアウト(要素の配置及び表示/非表示が変わるレイアウト)
  • ・リキッドレイアウト(要素の表示サイズが可変されるレイアウト)
  • ・フレキシブルレイアウト(幅の可変に加えて、表示の最小幅と最大幅も指定したレイアウト)
  • ・グリッドレイアウト(画面を縦横に格子状に分割し、ブロックで構成したレイアウト)

どうやってレスポンシブに対応させるかは、ウェブサイトやアプリケーションの構成により選択していく必要があります。
それでは、基本の作り方を確認していきましょう。

まず、レスポンシブデザインを意識せずにパソコンサイト用としてログイン画面を作成しました。
レスポンシブデザインを意識しないパソコン画面のイメージ

こちらをスマートフォンの画面で見るとどのようになるでしょうか?
レスポンシブデザインを意識しないスマートフォン画面のイメージ

パソコンの画面をそのままスマートフォンの画面の中に収めただけの形となっています。これではとても見づらい画面となってしまいます。
それでは、レスポンシブデザインに変えていきましょう。

下記を設定していきます。

  • 1.メディアクエリ
  • 2.ビューポート

メディアクエリ

メディアクエリはCSSの仕様の1つで、デバイスの特性に応じてCSSを切り替えるものです。
記述方法は2つあります。
1つはHTMLでCSSを読み込む際にmedia属性を使用する方法です。
具体的には、次のようなコードになります。

メディアクエリコード_HTML

2つめはCSSに条件を記述する方法です。
具体的には、次のようなコードになります。
メディアクエリコード_CSS

使用できる情報には、メディア型とメディア特性の2つがあります。
・メディア型:どのメディアを対象とするか(ex.screen)
・メディア特性:対象メディアの幅や高さ等の情報。(ex.max-width)
画面サイズに応じたスタイルを記述することで、レスポンシブデザインを実現できます。

ビューポート

次にビューポートです。ビューポートとはブラウザの表示領域のことです。
ビューポートのデフォルトは980pxとなっています。その為、スマートフォンを想定した横幅390pxで見ようとすると、980pxで表示したときの見た目を横幅390pxになるように縮小したものが表示されることになり、コンテンツによっては非常に見辛くなってしまいます。

ビューポートの横幅を、想定したデバイスと同一になるように設定していきましょう。
このビューポートは、HTMLのmeta要素から設定を変更することが可能です。
具体的には、次のようなコードになります。
ビューポートコード

上記コードでは下記の情報を設定しています。
・width:ビューポートの幅。特別な値としてdevice-widthでデバイスの横幅と同一にする。
・initial-scale:表示倍率の初期値。0.1~10までの数を指定可能。

これによりデバイスの画面幅に合わせて、コンテンツの表示幅の調整が可能になります。
※端末の向きを縦から横に変えた際に画面表示が拡大されるだけとならないように、初期表示倍率を「initial-scale」で設定しています。

それではスマートフォンでの表示がどのようになったでしょうか。

レスポンシブデザインを意識したスマートフォン画面のイメージ

とても見やすくなりました。

最後に

レスポンシブデザインについて簡単にご紹介させていただきました。
多種多様なデバイスが登場し続ける状況の中で、いかに対応していくかという点で必要な技術かと思います。
エヌ・エイ・シーでは、お客様のご要望に沿ったデザインのご相談も可能ですので、お気軽にご相談ください。