小川 裕之
レスポンシブWebの基礎と
コーディング実習
schoo ‘03.09.31
   
   
      
   
   
13年9月30日月曜日
印刷会社で DTP オペレーターとして 2 年間勤めたあと退職し、
Web デザイナーのアルバイトとして複数の制作会社を転々としたり
海外に行ったりしたあと横浜の制作会社に務める。
制作会社でデザイン、コーディング、ディレクション、
コンサル等を幅広く経験する。
2012 年 4 月よりフリーランスとして独立。
「レスポンシブWebデザイン入門」執筆
小川 裕之
barchin  hiro.ogw
13年9月30日月曜日
   
   
      
   
   
レスポンシブWebデザインでサイト
制作したことはありますか?
Q
13年9月30日月曜日
本講のアジェンダ
•レスポンシブWebデザインとは?
•レスポンシブWebデザインの実装方法
•ハンズオン
•RWDのワークフロー
•RWDとこれからのWeb
•まとめ
•質疑応答
13年9月30日月曜日
   
   
      
   
   
レスポンシブWebデザインとは
13年9月30日月曜日
Am I Responsive?
13年9月30日月曜日
Photo by Jeremy Keith
スマートデバイスの増加
13年9月30日月曜日
1日の平均インターネット接続時間
博報堂DYメディアパートナーズ メディア環境研究所「メディア定点調査2013」より
72,8分
50.6分
13年9月30日月曜日
マルチデバイス対応の手法
•レスポンシブWebデザイン
•専用サイト
•プログラム変換
13年9月30日月曜日
RWDの特徴
13年9月30日月曜日
RWDの特徴
•URLがひとつ
•ワンソース
•更新が比較的簡単
•新しいデバイスにも対応しやすい
13年9月30日月曜日
ワンソースで各デバイスの画面サイズに
対応したレイアウトを実現
HTML
CSSCSS CSS
幅768px
以下
幅480px
以下
幅769px
以上
13年9月30日月曜日
URLがひとつ
13年9月30日月曜日
ワンソース
13年9月30日月曜日
HTML
CSSCSS CSS
更新の手間が少ない
更新
! !
!
13年9月30日月曜日
新しいデバイスにも対応しやすい
? ?
?
?
?
13年9月30日月曜日
それぞれのメリット・デメリット
手法 メリット デメリット
レスポンシブWebデザイン
更新がラク
URLがひとつ
無数のデバイスに適応できる
構成の制限
設計が難しい
テストの工数が増える
マルチソース
デバイスの特性にあった最適化ができる
デザインの自由度が高い
開発コストがかかる
更新の手間がかかる
新しいデバイスを判定する必要がある
プログラム変換
更新が比較的ラク
URLが共通
デザインの自由度が高い
開発コストがかかる
新しいデバイスを判定する必要がある
13年9月30日月曜日
サイトの目的を明確にし、
最適な手段を選択する
13年9月30日月曜日
   
   
      
   
   
レスポンシブWebデザインの実装
13年9月30日月曜日
A LIST APART
13年9月30日月曜日
RWDを実現する要素
•Fluid Gird
•Fluid Image
•Media Queries
13年9月30日月曜日
Fluid Grid
13年9月30日月曜日
規則性をもったライン(Grid)にそって
コンテンツを配置
Grid Design
13年9月30日月曜日
グリッドの幅を相対値で指定
Fluid Grid
%
13年9月30日月曜日
求める要素の幅 親要素の幅 100%
相対値の求め方
620px 300px
960px
60px 20px
13年9月30日月曜日
=64.58333%
300÷960
×100
960px
相対値の求め方
620÷960×100
=31.25%
求める要素の幅 親要素の幅 100%
13年9月30日月曜日
Fluid Grid Systemが便利
pxからいちいち計算するのは手間
13年9月30日月曜日
960px
60px 20px
1カラム=60px÷960px×100%=6.25%
13年9月30日月曜日
60px 20px
1カラム=60px÷960px×100%=6.25%
2カラム=(60px×2+20)÷960px×100%=14.58333%
960px
13年9月30日月曜日
60px 20px
1カラム=60px÷960px×100%=6.25%
2カラム=(60px×2+20)÷960px×100%=14.58333%
3カラム= (60px×3+20×2) ÷960px×100%=22.91667%
4カラム= (60px×4+20×3) ÷960px×100%=31.25%
5カラム= (60px×5+20×4) ÷960px×100%=39.5833%
960px
13年9月30日月曜日
8カラム 4カラム
100%
=31.25%=64.58333%
13年9月30日月曜日
px %
幅を相対値にする
13年9月30日月曜日
Fluid Image
13年9月30日月曜日
画像が親要素より
はみ出してしまう
画像を可変にする
13年9月30日月曜日
<img src="photo.jpg"alt"="photo">
img{
max-width: 100%;
height: auto;
}
HTML
CSS
画像を可変にする
親要素内に
収まる
13年9月30日月曜日
Media Queries
13年9月30日月曜日
メディアタイプと特性に関する条件を調べ
その結果に応じて処理を行う
13年9月30日月曜日
@media screen and (min-width: 640px){
body{
background-color: red;
}
}
メディアがスクリーンで表示領域幅が
640px以上の場合、背景色を赤にする
メディアタイプ メディア特性
13年9月30日月曜日
メディア特性 情報 max-/min-
width 表示領域の幅 ○
height 表示領域の高さ ○
device-width デバイスの横方向の解像度 ○
device-height デバイスの縦方向の解像度 ○
orientation 表示領域の向き ☓
resolution 解像度 ○
13年9月30日月曜日
@import url ("pc.css") screen and (min-
width:600px);
<link rel="stylesheet" href="pc.css"
media="screen and (min-width:600px)">
@media screen and (min-width:600px){
/*style*/
}
CSS
CSS
HTML
13年9月30日月曜日
body{
backgorund-color:red;
}
モバイルファースト
1025px768px
全サイズ
に適用
13年9月30日月曜日
body{
backgorund-color:red;
}
@media screen and (min-width:768px){
body{
backgorund-color:blue;
}
}
モバイルファースト
1025px768px
幅768px
以上に適用
全サイズ
に適用
13年9月30日月曜日
モバイルファースト
幅1025px
以上に適用
body{
backgorund-color:red;
}
@media screen and (min-width:768px){
body{
backgorund-color:blue;
}
}
@media screen and (min-width:1025px){
body{
background-color:yellow;
}
}
1025px768px
幅768px
以上に適用
全サイズ
に適用
13年9月30日月曜日
body{
backgorund-color:red;
}
767px1024px
デスクトップファースト
全サイズ
に適用
13年9月30日月曜日
body{
backgorund-color:red;
}
@media screen and (max-width:1024px){
body{
backgorund-color:blue;
}
}
767px1024px
デスクトップファースト
幅1024px
以下に適用
全サイズ
に適用
13年9月30日月曜日
body{
backgorund-color:red;
}
@media screen and (max-width:1024px){
body{
backgorund-color:blue;
}
}
@media screen and (max-width:767px){
body{
background-color:yellow;
}
}
767px1024px
デスクトップファースト
幅767px
以下に適用
幅1024px
以下に適用
全サイズ
に適用
13年9月30日月曜日
モバイルファーストのメリット
•スタイルが少なくなる
768px
   
#main
#sub
#main #sub
13年9月30日月曜日
モバイルファーストのメリット
•スタイルが少なくなる
#main{
float:left;
width:80%;
}
@media screen and (max-width:
768px){
#main{
float: none;
width: auto;
}
}
デスクトップファースト
@media screen and (min-width:
769px){
#main{
float: left;
width: 80%;
}
}
モバイルファースト
13年9月30日月曜日
デスクトップファーストのメリット
•Media Queriesに非対応のブラウザ対応が簡単
モバイルファースト デスクトップファースト
13年9月30日月曜日
ブレイクポイント
13年9月30日月曜日
@media screen and (min-width: 480px){
/*style*/
}
@media screen and (min-width: 940px){
/*style*/
}
940px480px
ブレイクポイント
13年9月30日月曜日
   
   
      
   
   
ブレイクポイントはどのように
決めますか?
Q
13年9月30日月曜日
Sorce:Design Spice
サイトによって様々
13年9月30日月曜日
ブレイクポイントを決めるヒント
•主要となるデバイスの幅から
•コンテンツの最適なレイアウトから
13年9月30日月曜日
デバイスの幅から
主要となるデバイス、シェアの多いデバイスなど
を元に決める
13年9月30日月曜日
コンテンツから
動かしてみて調整が必要な部分に適時ブレイク
ポイントを追加する
13年9月30日月曜日
Viewport
13年9月30日月曜日
Viewportの設定をしてないとき
980pxのウインドウサイズで
アクセスしたときと同じ表示
13年9月30日月曜日
<meta name="viewport" content="width=device-width,
initial-scale=1">
そのデバイスの幅で
サイトが表示される
13年9月30日月曜日
   
   
      
   
   
セミハンズオン
13年9月30日月曜日
※モダンブラウザ・IE8∼
13年9月30日月曜日
768px 940px
nav
article
aside
footer
article aside
footer
nav
#wrapper
#wrapper
mainImage
fixedmainImage
13年9月30日月曜日
620px 300px
940px
13年9月30日月曜日
   
   
      
   
   
さらに最適化を
13年9月30日月曜日
Responsive Web Design
Performance
Responsive Web Design
Usability
Content Strategy User Interface
Readability
SEO
Accessibility
Information Architecture
User Experience
Visual Design
13年9月30日月曜日
Responsive Web Design
Usability
Performance
Content Strategy User Interface
Readability
SEO
Accessibility
Information Architecture
User Experience
Visual Design
13年9月30日月曜日
Good performance is good design
Brad Frost
13年9月30日月曜日
表示に時間が
かかる
光回線3G回線
13年9月30日月曜日
画像の最適化
•CSSを使う
•画像を圧縮する
•Webフォント
•Webアイコンフォント
•画像を差し替える
13年9月30日月曜日
レスポンシブWebデザインの画像問題の解決方法
13年9月30日月曜日
ハイパフォーマンスWebサイト
13年9月30日月曜日
   
   
      
   
   
RWDワークフロー
13年9月30日月曜日
•特定のデバイス対応
•コンテンツの幅は固定
•どの表示領域でもレイアウトは変わらない
ワークフローを見直す
今までの
サイト
•マルチデバイス対応
•コンテンツ幅は可変
•表示領域幅でレイアウトが変わる
RWD
13年9月30日月曜日
作ってみないとわからない
13年9月30日月曜日
情報
設計
画面
設計
プロト
タイプ
デザイン
実装
調整 テスト
テスト
ワークフロー例
13年9月30日月曜日
情報
設計
画面
設計
プロト
タイプ
デザイン
実装
調整 テスト
テスト
早めにプロトタイプを作成して
テストをしながら完成へと近づける
13年9月30日月曜日
カンプをどのようにつくるか
13年9月30日月曜日
=
従来のサイト制作におけるカンプ
13年9月30日月曜日
=    
   
RWDにおけるカンプ
13年9月30日月曜日
体制や案件に応じて作り方を変える
•各ブレイクポイントで作成
•PCサイズのみ作成
•主要な部分のみ作りこんで
他はざっくりと
•Designing in the browserで
13年9月30日月曜日
その都度都度で体制を柔軟に
変えられることが大事
13年9月30日月曜日
   
   
      
   
   
RWDとこれからのWeb
13年9月30日月曜日
   
   
      
   
   
スマートフォン・タブレット以外の
デバイスでサイトにアクセスしたことは?
Q
13年9月30日月曜日
Android Fragmentation Visualized
多様化するデバイス
13年9月30日月曜日
Future of Screen Technology
Productivity Future Vision
13年9月30日月曜日
それぞれのデバイス専用にサイトを作るのは
現実的ではなくなってくる
少ない労力でより多くのデバイスに
対応できるのが理想
13年9月30日月曜日
Best practice?
Photo by Jeremy Keith
13年9月30日月曜日
RWDは発展途上
•Media Queries Level4
•Responsive Images
•flexbox ,Regions,Column,...
•vw,vh
13年9月30日月曜日
Photo by Barb Dybwad
考え方も変える
13年9月30日月曜日
完全を求めない
Photo by Peter Miller
13年9月30日月曜日
“The control which designers know in the print medium, and often desire
in the web medium, is simply a function of the limitation of the printed
page. We should embrace the fact that the web doesn’t have the same
constraints, and design for this flexibility. But first, we must 'accept the
ebb and flow of things.'”
John Allsopp, “A Dao of Web Design”
13年9月30日月曜日
   
   
13年9月30日月曜日
   
   
13年9月30日月曜日
What is king?
Photo by Kyle Johnston
13年9月30日月曜日
未来を想像し、変化に順応する
Photo by dalioPhoto
13年9月30日月曜日
   
   
      
   
   
まとめ
13年9月30日月曜日
本日のまとめ
•RWDはワンソースでマルチデバイスに対応する手法
•RWDを実装する要素
(Fluid Grid, Fluid Image, Media Queries)
•表示だけでなくパフォーマンスも最適化する工夫を
•早めにテストを行いリスクを減らし効率的に進める
•今後マルチデバイス対応は必須となる
•変化は必ず訪れるので少しずつ順応していく
13年9月30日月曜日
   
   
      
   
   
質疑応答
13年9月30日月曜日
   
   
      
   
   
課題
•過去に作成したサイトをレスポンシブ
Webデザインにしてみる
•レスポンシブWebデザインをいちから
作成してみる
13年9月30日月曜日

レスポンシブWebデザインの基礎と,コーディング実習:先生小川 裕之