2013 html5カンファレンス  レスポンシブwebデザイン

42
Responsive Web Design 〜 Basic understanding 〜

Upload: daisuke-yamazaki

Post on 30-Jun-2015

1.091 views

Category:

Design


0 download

DESCRIPTION

マルチデバイス対応(各デバイスに合わせたサイト制作)の必要性がでてきている昨今、レスポンシブWebデザイン(略してRWD)のキーワードを聞くようになりました。今回はRWDの概念〜基本的な考え方〜制作方法について解説させていただきます。RWDは制作手法の考え方、手法の1つですので正しく理解していただければと思います。

TRANSCRIPT

Page 1: 2013  HTML5カンファレンス   レスポンシブWebデザイン

Responsive Web Design

〜 Basic understanding 〜

Page 2: 2013  HTML5カンファレンス   レスポンシブWebデザイン

〜自己紹介〜

レスポンシブ Web デザイン「超」実践デザイン集中講義

Page 3: 2013  HTML5カンファレンス   レスポンシブWebデザイン

〜自己紹介〜Job :・ U-SYS ( web professional fellow )・ デジタルハリウッド(ソーシャルアプリクリエイター専攻)・ デジタルハリウッド(オンライン: PHP 、 Web アプリ開発)・ Web 関連のセミナー(全国各地、ヒカ☆ラボ)

Microsoft MVP ( Bing Maps Development )

執筆&記事:日経ソフトウエア、@ IT 、 ITpro 、 Software Design など、IT 関連のメディアで情報発信中。@ IT 「 HTML5 アプリ作ろうぜ」を連載。日経 PC21 「名作フリーソフトを訪ねて」でも自身の開発したアプリが選出。 HTML5 アプリ「 impress.js design 」 ChromeWeb ストアにて公開中。

Page 4: 2013  HTML5カンファレンス   レスポンシブWebデザイン

なぜレスポンシブ Web デザイン?

なのか・・・

Page 5: 2013  HTML5カンファレンス   レスポンシブWebデザイン

従来求められてる Web サイト

0情報を正しく表示するサイト0目的の情報を探しやすいサイト 0集客を上げられるサイト

SEO 、広告、ソーシャルメディアとの連携

0バリアフリーなサイト視覚障害者(画面を見れない)、身体障害者(マウス使えない)、高齢者

Page 6: 2013  HTML5カンファレンス   レスポンシブWebデザイン

今これから求められる Web サイト

  「マルチデバイス対応」

0 「さまざまなデバイスで正しく表示・利用できるサイトを制作 」

先ほどのスライドをに追加して ...

PC タブレット スマートフォン

Page 7: 2013  HTML5カンファレンス   レスポンシブWebデザイン

今これから求められる Web サイト

0情報を正しく表示するサイト0目的の情報を探しやすいサイト 0集客を上げられるサイト0バリアフリーなサイト0マルチデバイス対応

PC 、携帯電話+スマートフォン、タブレットなど

やること増えたね

Page 8: 2013  HTML5カンファレンス   レスポンシブWebデザイン

モバイル端末からの閲覧増

Page 9: 2013  HTML5カンファレンス   レスポンシブWebデザイン

現在の Web では不十分なのか?モバイル向けサイトの必要性

今はパソコンは持っていなくても・・・ 

スマートフォン (携帯電話フィーチャーフォンも)   タブレット ( iPad, Nexus, Kindle… )

              を持ってる人の比率は日々増加してます。

Page 10: 2013  HTML5カンファレンス   レスポンシブWebデザイン

現在の Web では不十分である理由モバイル向けサイトの必要性

パソコンではなく、

スマートフォン・タブレット

を Web 閲覧のメインデバイスとして使う時代に来ています。

スマートデバイスを優先でサイトを構築する時代なのかも知れません。

Page 11: 2013  HTML5カンファレンス   レスポンシブWebデザイン

従来のマルチデバイス対応方法

サイト A ( PC 向け)www.domainname.com/A/

www.domainname.com/B/

www.domainname.com/C/

サイト C (スマートフォン)

サイト B (タブレット向け)

URL:

デバイス毎にディレクトリを分ける

http://www. /…●●●

http://www. /…●●●http://www. /…●●●

広告例)

Page 12: 2013  HTML5カンファレンス   レスポンシブWebデザイン

従来のマルチデバイス対応方法

サーバサイド、クライアントスクリプトにて切り分け

<?php /* UserAgent Switch */$ua=$_SERVER['HTTP_USER_AGENT'];if((strpos($ua,’iPhone’)!==false)||(strpos($ua,’iPod’)!==false)||(strpos($ua,’Android’)!==false)) {

header(“Location:/sp/index.php”);exit();

}?>

Page 13: 2013  HTML5カンファレンス   レスポンシブWebデザイン

ユーザーエージェント( 自動振り分けの注意点 )

・新たなデバイスが発売された場合 ( デバイスのユーザーエージェントを調査し振り分け処理を確認・追加する作業が必要 )

・必要なスクリプトなどの技術を習得している人材が必要

Page 14: 2013  HTML5カンファレンス   レスポンシブWebデザイン

ワンソースでマルチデバイス対応(レスポンシブ Web デザイン)

・ Javascript のようなプログラミング (スクリプト)知識は必要ない・ CSS の知識で作成できる・ ワンソース ( HTML と CSS )で作成可能

デザイナーの方には是非覚えてほしい手法です

ブラウザのスクリーンサイズ(解像度)を基準にレイアウトを調整することができるのでマルチスクリーンに対応したWeb サイトを制作できるのが特徴です。

Page 15: 2013  HTML5カンファレンス   レスポンシブWebデザイン

レスポンシブ Web デザイン誰が?いつ頃から?

レスポンシブ Web デザイン提唱者:        ETHAN MARCOTTE 氏(イーサン・マルコット氏)2010 年 5 月 25 日 に ブログで紹介したマルチデバイス対応の Web サイト制作の手法 「 RWD 」です。

Page 16: 2013  HTML5カンファレンス   レスポンシブWebデザイン

レスポンシブ Web デザインどんなことができるの?

レスポンシブ Web デザイン提唱者:        ETHAN MARCOTTE 氏(イーサン・マルコット氏)

記事内容: Media Query を使ってレイアウトし、例えば1カラムを2カラムに流動的に変形させる事を指し、閲覧されたそのデバイスの解像度によって柔軟に、シンプルに最適化(フルードグリッド、フルードイメージ)させる。

Page 17: 2013  HTML5カンファレンス   レスポンシブWebデザイン

• 画面を各デバイスに合わせてソースを複数作る必要がない、作業工数の軽減に繋がる

• ワンソースで管理するのでメンテナンスがしやすくなる

• 1つの URL のみにアクセスを集中できる(各デバイスごとに TOPページを分けた場合、ページヘのアクセスが分散化される)

• 1つの URLだけなので、告知・宣伝等がやりやすくなる

• HTML/CSS などのクライアント技術のみで実装できるため Web デザイナーが実装できる

レスポンシブ Web デザインメリット・デメリット

メリット

Page 18: 2013  HTML5カンファレンス   レスポンシブWebデザイン

• 芸術的な見せ方、拘りのあるビジュアルなサイトにはデメリットの可能性あり

• ワンソースで各デバイスに対応するため、設計 / デザインの調整に時間がかかる

• ワンソースで対応するため、より高度で複雑な設計となる可能性がある

• 全デバイスに必要なソースコードも読み込みます、必要のない要素も一緒に読み込まれてしまい、ページの読み込み時間やレンダリング速度に影響する可能性も考慮する必要があります。

レスポンシブ Web デザインメリット・デメリット

デメリット

Page 19: 2013  HTML5カンファレンス   レスポンシブWebデザイン

テクニカル解説MediaQuery 、ブレイクポイント

Page 20: 2013  HTML5カンファレンス   レスポンシブWebデザイン

Media Query とは?

スクリーンサイズ(デバイスサイズ)により CSS スタイルを複数指定することを可能にします。この CSS を複数指定することを可能したのが CSS3 の「 MediaQueries 」です。

特徴:デバイスごとの細かい配慮/工夫は向いていません。特定のデバイスにだけ特別な工夫をしようと思った場合に、他のデバイス( CSS スタイル)への影響も出る可能性が考えられます。

Page 21: 2013  HTML5カンファレンス   レスポンシブWebデザイン

何を基準にして設計・構築する?

まずスマートフォンを基準に考えることの方が、作る上で簡単なはずです。各デバイスの画面表示をスマートフォン用のスタイルを最初に定義し、タブレット、パソコン用の順番でスタイルを決めた方が設計・構築はスムーズかと思います。(例:スマートフォン 480px → タブレット 768px → パソコン 980px )

スマートフォンサイトから考える

Page 22: 2013  HTML5カンファレンス   レスポンシブWebデザイン

ブレイクポイントとは

メディアクエリを使用した方法で画面サイズ別に CSS スタイリングする場合

(例:スマートフォン 320px  → タブレット 788px  → パソコン880px )

と画面サイズの境目を先に決め手しまします。この決めた画面サイズに合わせて CSS スタイルを切り替える事ができ、この決めた画面サイズによる切り替えのポイントを、「ブレークポイント」と呼びます。 

ブレークポイントを決めておく

Page 23: 2013  HTML5カンファレンス   レスポンシブWebデザイン

Media Query 書き方1@media  ひとつの CSS ファイル内で振り分け

@media screen and (min-width: 481px) {

body {...}

}

@media screen and (min-width: 768px) {

body {...}

}

Link  複数 CSS ファイルを link 要素で読み込む <link href=”sp.css"><link media="screen and (min-width: 481px)" href="tablet.css"><link media="screen and (min-width: 768px)" href="desktop.css">

@import  複数 CSS ファイルを import 要素で読み込む @import url(”sp.css");@import url("tablet.css") only screen and (min-width: 481px); @import url("desktop.css") only screen and (min-width: 768px);

Page 24: 2013  HTML5カンファレンス   レスポンシブWebデザイン

@media が使いやすい

Media Query 書き方2

<link… @import…複数 CSS ファイルに分けてブレイクポイント(スマホ、タブレット、パソコン)を管理するとスタイル管理しやすくなりそうですが、

@media の方法で単一 CSS ファイルにした方が、

  「 HTTP リクエスト数を節約できる 」             特典があります。      スマートデバイスの3 G回線にもよい。

Page 25: 2013  HTML5カンファレンス   レスポンシブWebデザイン

実際の使い方

Page 26: 2013  HTML5カンファレンス   レスポンシブWebデザイン

メディアクエリーに対応していない IE8以下のブラウザーでもメディアクエリーを利用できるようにするスクリプト。非常に軽量なライブラリーで、古い IE でも簡単にメディアクエリーに対応できます。ダウンロード URL : https://github.com/scottjehl/Respond

css3-mediaqueries.js

レスポンシブを IE6 〜 8 で使う方法

respond.js

、 CSS3 の @media クエリをサポートしてないブラウザでもサポートしてるかのように見せるスクリプトです。 CSS を解析して、ブラウザのサイズを変更したときにもリアルタイムに @media クエリを適用します

Page 27: 2013  HTML5カンファレンス   レスポンシブWebデザイン

css3-mediaqueries.js

レスポンシブを IE6〜8で使う方法 css3-mediaqueries.js

html5shiv.js

<!--[if lt IE 9]>

<script src="js/css3-mediaqueries.js"></script>

<![endif]-->

<!--[if lt IE 9]>

<script src="js/html5shiv.js"></script>

<![endif]-->

Page 28: 2013  HTML5カンファレンス   レスポンシブWebデザイン

実際のコード例

Page 29: 2013  HTML5カンファレンス   レスポンシブWebデザイン

viewport 指定できること• モバイル端末ブラウザの表示幅を指定• ヒンチによる、拡大縮小の可否の指定• 拡大縮小の最大・最少倍率の指定

記載方法• <meta name=“viewport” content=“width=1024”>

※ 例:アップルサイト• <meta name=“viewport” content=“device-width”>

※端末画面の幅に合わせる

Viewport

viewport

Page 30: 2013  HTML5カンファレンス   レスポンシブWebデザイン

実際のコード例

Page 31: 2013  HTML5カンファレンス   レスポンシブWebデザイン

CSS

CSS 作成の考え方

CSS を作成する際、スマートフォンの一番小さい方に合わせて記述する方法で解説してます。

Page 32: 2013  HTML5カンファレンス   レスポンシブWebデザイン

PC 向けのスタイル: 769px~

CSS

タブレット向けのスタイル: 481px ~

@media only screen and (min-width: 769px) { //*********[ 2 :Start ]********

}

@media only screen and (min-width: 481px) { //*********[ 1 :Start ]********

}

Page 33: 2013  HTML5カンファレンス   レスポンシブWebデザイン

CSS

CSSコードサンプルを見ましょう!

Page 34: 2013  HTML5カンファレンス   レスポンシブWebデザイン

width ・ height属性を 指定すると比率がおかしくなります

Img 要素(フルードイメージ)

img

img {     max-width: 100%;      height: auto;}  

フルードイメージ

IE 7以下では縮小された画像が粗く見える。この問題は imgSizer.js という js で対処できる。次ページへ>>

Page 35: 2013  HTML5カンファレンス   レスポンシブWebデザイン

imgSizer.js

img

<!--[if lte IE 7.0]><script type="text/javascript"

src="imgSizer.js"></script><![endif]-->

Page 36: 2013  HTML5カンファレンス   レスポンシブWebデザイン

注意ポイント

デスクトップ上でのブラウザ実行は です。☓

http://….https://….

のように実際に Web サーバ上に上げて確認する必要が有ります。

※XMAPP など PC に Web サーバを作るのは OK !

Page 37: 2013  HTML5カンファレンス   レスポンシブWebデザイン

DEMO

Page 38: 2013  HTML5カンファレンス   レスポンシブWebデザイン

参考サイト

■Media Queries ( http://mediaqueri.es/ )

Page 39: 2013  HTML5カンファレンス   レスポンシブWebデザイン

参考サイト

■Microsoft ( http://www.microsoft.com/en-us/default.aspx )

Page 40: 2013  HTML5カンファレンス   レスポンシブWebデザイン

参考サイト

■Nathan Sawaya ( http://brickartist.com/ )

キービジュアルの画像がスライド(フェードイン・フェードアウトで切り替わる)エフェクト

Page 41: 2013  HTML5カンファレンス   レスポンシブWebデザイン

参考サイト

■COOP ( http://coworkchicago.com/ )

右側からパソコン、タブレット、スマートフォンサイズの表示なりますが、スマートフォンのサイズ(左側)が大きくデザインが変わります。

Page 42: 2013  HTML5カンファレンス   レスポンシブWebデザイン

Adobe 社 「 Dreamweaver CS6 と HTML5 で始めようスマートフォン&タブレット対応」http://adobe-html5.jp/アドビシステムの HTML5 特設サイトもレスポンシブ Web デザインで作成されてます。ブレイクポイントは 0 〜 520px の場合は 1 カラムレイアウト、 520px 〜 920px の間は 2 カラムレイアウト、 920px 〜より大きい場合は 3 カラムレイアウトの表示となります。 ブレイクポイント: 520px, 920px

 

参考サイト