スマホ対応のWebサイトを作る際に、頭を悩ませていることがあるのではないでしょうか。
PCサイトをそのままスマホで閲覧すると、文字が小さくて読みづらかったり、画像がはみ出てしまったりとストレスを感じることが多いのです。そこでオススメなのが、レスポンシブWebデザインです。
この記事を読めば、レスポンシブデザインのメリットやデメリットを知ることができます。実装の方法やポイントなど、レスポンシブデザインの作り方なども詳しく解説しています。
例えば、レスポンシブデザインを使えば1ページでPCからスマホまで対応できるため、コーディング工数が大幅に減ります。また、検索エンジンのクロールしやすさが向上するなどのSEO効果も期待できます。
その一方で、メディアクエリの実装などに開発コストがかかるデメリットもあります。コンテンツ制作も画面サイズに合わせる必要があるため若干複雑になります。
この記事では、そうしたメリットとデメリットをわかりやすく解説しています。また、レスポンシブデザインの具体的な実装方法や、ブレークポイントの設定、画像の最適化といった作り方のポイントも丁寧に解説しています。
Webサイトをスマホ対応させたいけど方法がわからない、という方におすすめの記事です。ぜひ参考にしてみてください。
レスポンシブデザインとは
レスポンシブデザインとは、ウェブサイトやウェブアプリケーションを作成する際に、PCやタブレット、スマートフォンなど、さまざまな画面サイズのデバイスに対応できるようにデザインする手法です。
例えば、スマートフォンでは画面が小さいので、メニューやコンテンツを1列で表示させます。一方で、PCのような大きい画面では、2列や3列で情報を表示することができます。
このように、表示するデバイスに合わせて最適なレイアウトや文字の大きさ、画像のサイズなどを自動で変更することが、レスポンシブデザインの根幹を成しています。
利用者は、スマートフォンでもPCでも、ストレスなく見やすい形式でウェブサイトを閲覧することができるので、ユーザーエクスペリエンス(UX)向上に大きく貢献しています。
レスポンシブデザインを実現するために大切なのが、CSSやJavaScriptを使った実装です。
CSSでは「メディアクエリ」という機能を使うことが多いです。これは画面の横幅によってCSSのスタイル定義を変更することができます。
ブレークポイントと呼ばれる画面幅の境界線を設けて、それに応じてレイアウトを変更していきます。
レスポンシブデザインを支える技術として、FlexboxやGridシステムといったCSSレイアウト機能も重要です。要素の並べ方や配置を、スマートフォンからPCまで柔軟に定義できます。
レスポンシブデザインのメリット
レスポンシブデザインには、以下の5つの大きなメリットがあります。
メリット | 詳細 |
作業工数が減る | 1つのHTML/CSSでスマホからPCまで対応できるため、コーディング工数を大幅に減らせる |
SEO効果が期待できる | スマホ向け最適化ができるので検索順位アップが期待できる上、コードをシンプルに保てる |
ユーザーエクスペリエンス向上 | デバイスに最適なUI/UXを提供できるので、ストレスなくサイト利用が可能 |
サイトの保守性が向上 | 1ページの修正で全デバイスに反映されるので運用効率化が図れる |
複数デバイスでの表示試験の回数が減る | 画面サイズ変更に対して柔軟に適応するので、個別の表示試験が省ける |
作業工数が減る
従来のウェブサイトでは、スマートフォンサイトとPCサイトを別々に制作するのが一般的でした。スマートフォンサイトに最適化されたHTML/CSSと、PCサイト用に最適化されたHTML/CSSをそれぞれ作成しなければなりませんでした。
しかしこの方法では、同じコンテンツを扱うにもかかわらずコーディング量が2倍に膨らんでしまいます。また、両サイトの保守・運用コストも2倍かかってしまうデメリットがありました。
一方でレスポンシブデザインならば、同じHTMLとCSSファイルでスマートフォンからPCまでシームレスに対応することができます。メディアクエリを使って、画面サイズに応じて最適なレイアウトに変更していけばいいだけなので、コーディングや保守の作業工数を大幅に抑えることができるのです。
新規サイトを構築する場合、レスポンシブデザインを利用することで、コーディングの工数だけでなく、 提供コンテンツ制作や画像制作など、サイト構築に関わる全体的な工数を削減できます。
SEO効果が期待できる
最近では、Googleをはじめとした検索エンジンのクロールやインデックスが、スマートフォンからの比率が高まっています。つまり、ウェブサイトをスマートフォンで快適に表示できるかどうかが、検索順位を左右する重要なものとなっているのです。
レスポンシブデザインを採用すれば、常にスマートフォンにも最適化された形でウェブサイトを提供することができます。文字のサイズや配置などを適切に変更し、可能な限りストレスなく閲覧できるようUI/UXを整えます。
こうした点を評価され、検索エンジンによるクロールやインデックスがしやすくなります。結果として、目的のキーワードでの検索結果上位表示の可能性が高まることが期待できるのです。
加えて、HTMLやCSS、JavaScriptなどの実装コードもスマートフォン向けに最適化しやすいため、軽量化やミニファイ化を図れます。これによって、ページの読み込み速度の改善も見込め、SEO効果のさらなる向上が図れます。
ユーザーエクスペリエンス向上
レスポンシブデザインでは、ウェブサイトを閲覧するデバイスに合わせて、最適なレイアウトとコンテンツの提示が実現できます。
例えば、スマートフォンでは画面サイズが小さいので、基本的にコンテンツを1列に表示させ、メニューやテキストのサイズを大きく取ります。一方で、PCの大きな画面では複数列のレイアウトにして情報量を増やします。
このように、デバイスごとに最適化された形式でコンテンツ提示ができるため、利用者は画面サイズに合った適切なサイズの文字や配置でストレスなく読み進めることができます。
特に、従来のPC向けに作られたサイトをスマートフォンで閲覧する場合、小さな文字や複雑なレイアウトで閲覧しづらいといったストレスがよく発生していました。 レスポンシブデザインを利用することで、この問題を解決しユーザーエクスペリエンスを大きく向上させることができます。
サイトの保守性が向上
従来のスマートフォンサイトとPCサイトの別管理では、サイトの運用保守に多大な労力が必要でした。新しいコンテンツを追加したり、掲載済みの文章や画像を修正する場合、すべてのページを両サイトそれぞれについて作業しなければなりません。
例えば、ニュースサイトを考えてみましょう。1日に10本の記事更新があるとすると、スマホサイトとPCサイトそれぞれに10本分の掲載作業が発生します。月間300本のコンテンツ更新では、合計600ページもの編集作業が必要になる計算です。
この例でも明らかな通り、別々のサイト運営は膨大な保守コストがかかる上、ミスや手抜きからくる表示の不具合も発生しやすくなります。
一方、レスポンシブデザインであれば1つのページの作業で済みます。運用保守の作業工数を大きく低減できるだけでなく、表示の不整合リスクも下げられるため、サイトの信頼性も向上できることが分かります。
複数デバイスでの表示試験の回数が減る
従来のウェブ設計では、スマートフォン、タブレット、PCとデバイスごとに最適な表示を実現するため、個別に膨大な表示試験が必要でした。OSごとのデフォルトブラウザや、画面サイズのバリエーションが多い分、網羅的な表示確認には大変な労力が求められます。
しかし、レスポンシブデザインであれば、OSやブラウザを問わず、画面サイズに合わせて最適化されるようデザインされています。例えば、文字サイズはリキッドレイアウトを用いて柔軟に拡大でき、画像サイズもアスペクト比を保ちつつ自動でリサイズ表示されます。
そのため、特定の画面サイズにおいて表示を確認し、正常であることが分かれば、他のサイズでは大きなデザイン崩れが起きないことが保証されるため、表示試験工数を大幅に削減できるのです。
レスポンシブデザインのデメリット
レスポンシブデザインにも以下のような課題や欠点が存在します。
デメリット | 詳細 |
開発コストがかかる場合がある | 実装技術の習得に時間がかかるため、開発コストが増加するリスクがある |
コンテンツ制作が複雑 | デバイスごとの最適化が必要なため、コンテンツ制作がより複雑化する |
ページの表示速度が遅くなるリスクがある | ファイルサイズやHTTPリクエスト数が増えることで表示速度低下を招く可能性がある |
画像の最適化が必要 | デバイスごとの最適な画像を用意する等、最適化作業が増える |
開発コストがかかる場合がある
レスポンシブデザインを実現するためには、メディアクエリやフレキシブルレイアウト、リキッドレイアウトなどの技術を用いた実装が必要不可欠です。これらは、従来のWEB設計とは異なる特殊な機能であるため、開発者が初めて扱う場合、習得に時間と労力を要します。
例えば、メディアクエリではブレークポイントに基づいてCSSのスタイル定義を条件分岐しなければなりません。またレイアウトは、pxではなく%やremといった相対単位を使って画面サイズ対応する仕組みを構築しなければなりません。
こうした実装テクニックに不慣れな開発者が作業する場合、コーディングが思うように進まず、工数と時間がオーバーしてしまうことで、計画よりも過剰なコストが発生するリスクがあります。
ただし、レスポンシブデザインの開発経験や知見が豊富なエンジニアであれば、作業工数を効率的に抑えられます。経験値やスキルによってコスト面は大きく異なる点に注意が必要です。
コンテンツ制作が複雑
レスポンシブデザインでは、スマートフォンからPCまでさまざまな画面サイズに対応したコンテンツ制作が求められます。文字数や配置、画像サイズといった、細かい点までデバイスごとに最適化する必要が出てきます。
例えば、文字数が多い記事の場合、PCでは自動的に複数段落に改行されても問題ありませんが、スマートフォン画面では改行を適切に入れる必要があります。
また画像は、単純に縮小すると画質が低下するため、デバイスごとに表示サイズに合わせた解像度の画像アセットを新規に用意するなどの作業も発生します。
こうした細かい点をすべて意識する必要から、コンテンツ制作にかなりの労力が必要となる側面があるといえます。デザインリソースの追加や作業工程の見直しが必要になるでしょう。
ページの表示速度が遅くなるリスクがある
レスポンシブデザインの複雑な実装により、ファイルサイズの増加や、HTTPリクエストの増加がページ速度の低下につながる場合があります。しかしながら、この問題は適切な対策を講じることで防ぐことが可能です。
具体的には、HTML/CSS/JavaScriptファイルのソースコードを圧縮し、ファイルサイズそのものを削減します。イメージファイルの圧縮や軽量化、文字コードの最適化といった作業も合わせて行います。
加えて、キャッシュ設定を適用することで、リピートアクセス時の表示速度を確保できます。CDN対応による配信元の分散化で、サーバー負荷も軽減できます。
過剰な装飾や動的処理を排除し、実装コードをスリム化することも大切です。こうした施策により、レスポンシブデザインでも万全なページ速度を確保できるでしょう。
画像の最適化が必要
レスポンシブデザインで画像を扱う場合、スマートフォンからPCまで、さまざまなサイズの画面に最適な解像度とファイルサイズで表示できるよう、画像アセットの用意が必要です。
単純に大きな画像を縮小して表示すると、表示速度の低下や細部のぼやけなど、画質の劣化を招いてしまいます。そこで、事前に表示サイズに合わせた解像度の画像をそれぞれ用意し、適切な画像を各デバイスに配信する実装が求められます。
しかし、こうした画像アセットを全て新規に用意するには、画像編集デザイナーによる多大な作業工数が必要不可欠です。画像数もコンテンツ量に比例して膨大になるため、最適化の作業コストも考慮しなければいけません。
これがレスポンシブデザインにおいて、画像の最適化が課題視される理由です。
レスポンシブデザインの作り方
レスポンシブデザインを実現するには、以下のような手順と方法が必要です。
ブレークポイント(サイズ)の設定
ブレークポイントは、画面サイズに応じてレイアウトを変更する基準の値です。代表的なブレークポイントとしては以下のようなサイズが使われます。
- スマートフォン: 480pxまで
- タブレット: 481px~768px
- PC: 769px~1024px
- 大型PC: 1025px以上
この基準に応じて、次のように条件分岐を入れたCSSを用意します。
画面サイズが変わるたびに、指定したブレークポイントを超えたか下回ったかを判定し、その条件に応じたレイアウトに切り替えられるように設計するという流れです。
viewportタグの設定
viewportメタタグは、レスポンシブWebデザインの実装において必須の設定といえます。画面の幅や拡大縮小、文字サイズといった表示を適正化する効果があります。具体的には次のような設定が基本形です。
<meta name="viewport" content="width=device-width, initial-scale=1.0">
- width=device-width : 画面の幅をデバイス(スマホなど)の画面幅に合わせる
- initial-scale=1.0 : 拡大縮小率を1:1の比率にセットする
これにより、デバイス画面に応じて最適な幅で描画されるようになり、拡大縮小されてコンテンツが小さく表示されることがなくなります。
特に、スマートフォン端末では必須の設定とされています。レスポンシブデザインを実現するためには必ず設定する必要がある重要なmetaタグといえます。
メディアクエリ(CSS)の利用
メディアクエリは次の書式で記述します。
@media (メディアタイプ) and (条件) { // 適用するCSS }
メディアタイプには、画面やプリンターなどを指定しますが、WEBサイト制作時にはscreen
を指定することがほとんどです。
条件には、max-width
やmin-width
を使い、画面横幅の上限値や下限値をピクセル単位で指定します。 これによってブレークポイントを超えたか下回ったかを判断する条件分岐が可能になります。
例えば、次のように、480px以下のスマートフォン版では中央揃えの1列レイアウトにする一方、768px以上のタブレット・PC版では左揃えの2列レイアウトに変更する、という指定ができます。
// スマートフォン版
@media screen and (max-width: 480px) {
.content { text-align: center; width: 100%; }
}
// タブレット・PC版
@media screen and (min-width: 768px) {
.content { text-align: left; width: 50%; }
}
このように、メディアクエリを使うことで、ブレークポイント基準の画面サイズに応じて、自動的に異なるCSSを適用させるという条件付きレイアウトが実現できるわけです。レスポンシブデザインの基本を成すテクニックです。
フレキシブルなレイアウト
フレキシブルレイアウトを実現するには、widthやheight、font-sizeといった、サイズ関連のCSSプロパティの値として、ピクセル数ではなく%やremといった相対単位を用います。
ピクセル数で固定のサイズを指定すると、画面サイズの変更に対応できません。そこで、表示領域に対する割合を示す%指定や、フォントサイズの倍率を示すrem指定を用いることで、柔軟にレイアウトやサイズが拡大・縮小できるようになります。
例えば、幅を画面の80%と指定し、フォントを基準の1.2倍と指定することで、画面サイズいっぱいにコンテンツが配列されるといった風に動的に対応できます。
calc()を使って計算結果を指定することも可能です。
レスポンシブデザイン作成時のポイント
レスポンシブデザインを制作する際の主なポイントは次のとおりです。
画面サイズの変化への対応を意識する
レスポンシブデザインでは、多岐にわたる画面サイズへの対応が必須です。スマートフォンの375pxからPC用モニターの1920px超まで、様々な幅に適応できるよう実装する必要があります。
そのため、デザインだけでなく実装時も、常にさまざまな画面サイズを想定しながら制作を進めることが欠かせません。例えば、最大文字数の設定や改行位置、コンテンツの配置など細かな点まで、画面サイズごとに調整していきます。
実際に、エミュレーターや実機を使って表示テストをしながら、画面サイズ変更時のレイアウト崩れなどを確認し、必要に応じてデザインと実装の修正を繰り返していく作業が必要不可欠です。
画像の最適なサイズ設定
スマートフォンからPCまで、多岐にわたる画面サイズに対応する上で、表示する画像のサイズもそれに見合った大きさに最適化することが重要です。
例えば、PC向けに用意された高解像度画像をそのままスマートフォンに表示してしまうと、表示速度の低下を招いてしまいます。そこで、スマホで表示する場合は、表示サイズに合わせた適切な解像度に圧縮した画像を用意するなどの配慮が必要になります。
画像ごとに合理的な容量で、かつ十分な品質を確保できるよう、表示サイズと解像度とのバランスを考慮していくことが大切です。過剰な画質を無駄に保持せず、状況に応じた最適化を図る画像サイズ設計が求められます。
表示サイズに合わせたコンテンツ量の調整
レスポンシブデザインでは、スマートフォンからPCまで多様な画面サイズに合わせて、表示するコンテンツ量を適宜調整する必要があります。
スマートフォンでは画面スペースが限られているため、簡潔な文章と少ない情報量で伝えることがポイントです。改行を多く取ったり、段落分けを意識して読みやすくします。
一方でPCでは横幅が広い分、多段組みの文字設定やデータ密度の高い表現が可能です。段落内で改行を少なくして情報量を凝縮化したり、複数のデータを並べて可視化できます。
このように、コンテンツ量やレイアウトは画面サイズに応じて変化させる必要があるため、bodyタグやdivタグの親要素をフレキシブルにすることで、柔軟に量を調整できるようにします。
CSSを活用した表現
レスポンシブデザインでは、画像アセットよりもCSSを使った表現を多用することが、コンテンツの軽量化につながります。
例えば、見出しの装飾等に画像を利用するのではなく、CSSグラデーションやShadow、Animation機能を駆使して表現を代替することができます。ファイルサイズやダウンロードデータを削減できます。
同様に、JavaScriptで実装するスクロール連動の要素動作や、フェードインなどの動的表現を使うことで、高度な演出が可能です。jQueryやライブラリを利用することで、様々なインタラクション要素が実装できるでしょう。
こうしたコーディングベースの表現テクニックを使い分けていくことで、機能面で妥協することなく、パフォーマンス最適化として大きな効果が得られます。
レスポンシブデザインのまとめ
今回の記事では、レスポンシブデザインの特徴やメリット・デメリット、実装方法といった基本事項を解説してきました。
スマートフォンからPCまで、幅広いデバイスに最適化された表示を実現できるため、サイト運営に大きなメリットが得られます。実装方法さえ理解していれば、導入障壁も低く、今後ますますウェブサイト制作の標準になっていく手法といえるでしょう。
レスポンシブデザインに関してご不明な点がございましたら、株式会社Jiteraまでお気軽にご相談ください。UI/UX設計から実装作業まで、安全なサイト構築をトータルに支援いたします。