68
Responsive Web Design 2013. 05. 25 こもりまさあき CSS Nite LP Disk 27「スマートフォン対応サイト制作(3)」 THE PRACTICE OF レスポンシブWebデザイン 実践編

Responsive Web Design - CSS Nite公式サイトcssnite.jp/lp/lp27/CSSNiteLP27-s4-komori.pdfResponsive Web Design 2013. 05. 25 こもりまさあき CSS Nite LP Disk 27 「スマートフォン対応サイト制作(3

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Responsive Web Design - CSS Nite公式サイトcssnite.jp/lp/lp27/CSSNiteLP27-s4-komori.pdfResponsive Web Design 2013. 05. 25 こもりまさあき CSS Nite LP Disk 27 「スマートフォン対応サイト制作(3

Responsive Web Design

2013. 05. 25 こもりまさあき

CSS Nite LP Disk 27「スマートフォン対応サイト制作(3)」

THEPRACTICE

OF

レスポンシブWebデザイン 実践編

Page 2: Responsive Web Design - CSS Nite公式サイトcssnite.jp/lp/lp27/CSSNiteLP27-s4-komori.pdfResponsive Web Design 2013. 05. 25 こもりまさあき CSS Nite LP Disk 27 「スマートフォン対応サイト制作(3

自己紹介

1972年生まれのフリーランス。90年代前半から都内のDTP系デザイン会社にてアルバイトをはじめ、大学卒業後そのまま正社員に。入出力業務、デザイン業務、ネットワーク関連業務に並行して従事後、2001年会社を退職しフリーランスの道へ。業務内容や立ち位置が異なるので、職域的な肩書きはなし

近著に『基礎から覚える、深く理解できる。 Webデザインの新しい教科書』『レスポンシブ・ウェブデザイン標準ガイド』など

Twitter: @cipher / @proteanbmInstagram: @cipher

こもりまさあき

Page 3: Responsive Web Design - CSS Nite公式サイトcssnite.jp/lp/lp27/CSSNiteLP27-s4-komori.pdfResponsive Web Design 2013. 05. 25 こもりまさあき CSS Nite LP Disk 27 「スマートフォン対応サイト制作(3

今日お話しすること

•レスポンシブWebデザインあるある

•いまどきのレスポンシブ、その実装方法

Page 4: Responsive Web Design - CSS Nite公式サイトcssnite.jp/lp/lp27/CSSNiteLP27-s4-komori.pdfResponsive Web Design 2013. 05. 25 こもりまさあき CSS Nite LP Disk 27 「スマートフォン対応サイト制作(3

レスポンシブあるある

The Problems of Responsive Web Design

Page 5: Responsive Web Design - CSS Nite公式サイトcssnite.jp/lp/lp27/CSSNiteLP27-s4-komori.pdfResponsive Web Design 2013. 05. 25 こもりまさあき CSS Nite LP Disk 27 「スマートフォン対応サイト制作(3

The Problems

Page 6: Responsive Web Design - CSS Nite公式サイトcssnite.jp/lp/lp27/CSSNiteLP27-s4-komori.pdfResponsive Web Design 2013. 05. 25 こもりまさあき CSS Nite LP Disk 27 「スマートフォン対応サイト制作(3

•スマートデバイスの種類が多くて困っている

•表示・非表示を変えたいコンテンツがある

•PCとスマートフォンでコンテンツの表示順を変えたい

•複数サイズの画像を切り替える方法がわからない

•ラクをしたい

Page 7: Responsive Web Design - CSS Nite公式サイトcssnite.jp/lp/lp27/CSSNiteLP27-s4-komori.pdfResponsive Web Design 2013. 05. 25 こもりまさあき CSS Nite LP Disk 27 「スマートフォン対応サイト制作(3

レスポンシブWebデザインの悩みを解決しましょう

Page 8: Responsive Web Design - CSS Nite公式サイトcssnite.jp/lp/lp27/CSSNiteLP27-s4-komori.pdfResponsive Web Design 2013. 05. 25 こもりまさあき CSS Nite LP Disk 27 「スマートフォン対応サイト制作(3

その前に。ある海外のサイトで実際に使用されている技術

Page 9: Responsive Web Design - CSS Nite公式サイトcssnite.jp/lp/lp27/CSSNiteLP27-s4-komori.pdfResponsive Web Design 2013. 05. 25 こもりまさあき CSS Nite LP Disk 27 「スマートフォン対応サイト制作(3

Requirejs

LESS

BowerNode.js

PhantomJS

Web Fonts

Grunt

Responsive Images

Style Guide

JShint

localStorage

Jasmine

Curljs

Page 10: Responsive Web Design - CSS Nite公式サイトcssnite.jp/lp/lp27/CSSNiteLP27-s4-komori.pdfResponsive Web Design 2013. 05. 25 こもりまさあき CSS Nite LP Disk 27 「スマートフォン対応サイト制作(3

レスポンシブな実装って、Media Queriesだけじゃない

Page 11: Responsive Web Design - CSS Nite公式サイトcssnite.jp/lp/lp27/CSSNiteLP27-s4-komori.pdfResponsive Web Design 2013. 05. 25 こもりまさあき CSS Nite LP Disk 27 「スマートフォン対応サイト制作(3

技術の組み合わせがポイント

Page 12: Responsive Web Design - CSS Nite公式サイトcssnite.jp/lp/lp27/CSSNiteLP27-s4-komori.pdfResponsive Web Design 2013. 05. 25 こもりまさあき CSS Nite LP Disk 27 「スマートフォン対応サイト制作(3

いまどきのレスポンシブ、その実装方法

The Practice of Responsive Web Design

Page 13: Responsive Web Design - CSS Nite公式サイトcssnite.jp/lp/lp27/CSSNiteLP27-s4-komori.pdfResponsive Web Design 2013. 05. 25 こもりまさあき CSS Nite LP Disk 27 「スマートフォン対応サイト制作(3

スマートデバイスの種類が多くて困っている

Page 14: Responsive Web Design - CSS Nite公式サイトcssnite.jp/lp/lp27/CSSNiteLP27-s4-komori.pdfResponsive Web Design 2013. 05. 25 こもりまさあき CSS Nite LP Disk 27 「スマートフォン対応サイト制作(3

ブレイクポイント、増やせば増やすほど複雑化

Page 15: Responsive Web Design - CSS Nite公式サイトcssnite.jp/lp/lp27/CSSNiteLP27-s4-komori.pdfResponsive Web Design 2013. 05. 25 こもりまさあき CSS Nite LP Disk 27 「スマートフォン対応サイト制作(3
Page 16: Responsive Web Design - CSS Nite公式サイトcssnite.jp/lp/lp27/CSSNiteLP27-s4-komori.pdfResponsive Web Design 2013. 05. 25 こもりまさあき CSS Nite LP Disk 27 「スマートフォン対応サイト制作(3

ブレイクポイントを減らせるデザインを考える

Page 17: Responsive Web Design - CSS Nite公式サイトcssnite.jp/lp/lp27/CSSNiteLP27-s4-komori.pdfResponsive Web Design 2013. 05. 25 こもりまさあき CSS Nite LP Disk 27 「スマートフォン対応サイト制作(3

ちなみに、いまどきは「px」ではなく「em」で切り替え

Page 18: Responsive Web Design - CSS Nite公式サイトcssnite.jp/lp/lp27/CSSNiteLP27-s4-komori.pdfResponsive Web Design 2013. 05. 25 こもりまさあき CSS Nite LP Disk 27 「スマートフォン対応サイト制作(3

320px = 20em480px = 30em768px = 48em960px = 60em

johannaruiz/propotional-mqshttps://github.com/johannaruiz/propotional-mqs

Page 19: Responsive Web Design - CSS Nite公式サイトcssnite.jp/lp/lp27/CSSNiteLP27-s4-komori.pdfResponsive Web Design 2013. 05. 25 こもりまさあき CSS Nite LP Disk 27 「スマートフォン対応サイト制作(3

表示・非表示を変えたいコンテンツがある

Page 20: Responsive Web Design - CSS Nite公式サイトcssnite.jp/lp/lp27/CSSNiteLP27-s4-komori.pdfResponsive Web Design 2013. 05. 25 こもりまさあき CSS Nite LP Disk 27 「スマートフォン対応サイト制作(3

demo

Page 21: Responsive Web Design - CSS Nite公式サイトcssnite.jp/lp/lp27/CSSNiteLP27-s4-komori.pdfResponsive Web Design 2013. 05. 25 こもりまさあき CSS Nite LP Disk 27 「スマートフォン対応サイト制作(3

“サイトにアクセスするユーザーのことを考えるとき、端末のことだけでなく、ユーザーが何を期待しているかを

考慮することが大切です。

タブレット端末ユーザーにはフルサイズのウェブを表示しましょうhttp://googlewebmastercentral-ja.blogspot.jp/2012/11/giving-tablet-users-full-sized-web.html

Page 22: Responsive Web Design - CSS Nite公式サイトcssnite.jp/lp/lp27/CSSNiteLP27-s4-komori.pdfResponsive Web Design 2013. 05. 25 こもりまさあき CSS Nite LP Disk 27 「スマートフォン対応サイト制作(3

環境を想定して、柔軟にコンテンツをロードする

Page 23: Responsive Web Design - CSS Nite公式サイトcssnite.jp/lp/lp27/CSSNiteLP27-s4-komori.pdfResponsive Web Design 2013. 05. 25 こもりまさあき CSS Nite LP Disk 27 「スマートフォン対応サイト制作(3

WordPressなら「wp_is_mobile()」で

Page 24: Responsive Web Design - CSS Nite公式サイトcssnite.jp/lp/lp27/CSSNiteLP27-s4-komori.pdfResponsive Web Design 2013. 05. 25 こもりまさあき CSS Nite LP Disk 27 「スマートフォン対応サイト制作(3

<?php if ( !wp_is_mobile() ) :?><div class="sidebar-ad"><img src="<?php echo get_bloginfo( stylesheet_directory ) ?>/images/banner-sideA.png"></div>

<?php endif; ?>※デスクトップブラウザには、バナーコンテンツを表示する

Page 25: Responsive Web Design - CSS Nite公式サイトcssnite.jp/lp/lp27/CSSNiteLP27-s4-komori.pdfResponsive Web Design 2013. 05. 25 こもりまさあき CSS Nite LP Disk 27 「スマートフォン対応サイト制作(3

Ajaxを使って、特定条件のみでコンテンツをロードする

Page 27: Responsive Web Design - CSS Nite公式サイトcssnite.jp/lp/lp27/CSSNiteLP27-s4-komori.pdfResponsive Web Design 2013. 05. 25 こもりまさあき CSS Nite LP Disk 27 「スマートフォン対応サイト制作(3

コンテンツのロード時間も大事な要素

Page 28: Responsive Web Design - CSS Nite公式サイトcssnite.jp/lp/lp27/CSSNiteLP27-s4-komori.pdfResponsive Web Design 2013. 05. 25 こもりまさあき CSS Nite LP Disk 27 「スマートフォン対応サイト制作(3

PCとスマートフォンでコンテンツの表示順を変えたい

Page 29: Responsive Web Design - CSS Nite公式サイトcssnite.jp/lp/lp27/CSSNiteLP27-s4-komori.pdfResponsive Web Design 2013. 05. 25 こもりまさあき CSS Nite LP Disk 27 「スマートフォン対応サイト制作(3

Content Choreography

Content Choreograpyhttp://trentwalton.com/2011/07/14/content-choreography/

Choreography: バレエやダンスの振り付け

Page 30: Responsive Web Design - CSS Nite公式サイトcssnite.jp/lp/lp27/CSSNiteLP27-s4-komori.pdfResponsive Web Design 2013. 05. 25 こもりまさあき CSS Nite LP Disk 27 「スマートフォン対応サイト制作(3

設計時にコンテンツのブロックの振る舞いを決める

Page 31: Responsive Web Design - CSS Nite公式サイトcssnite.jp/lp/lp27/CSSNiteLP27-s4-komori.pdfResponsive Web Design 2013. 05. 25 こもりまさあき CSS Nite LP Disk 27 「スマートフォン対応サイト制作(3

demo

Page 32: Responsive Web Design - CSS Nite公式サイトcssnite.jp/lp/lp27/CSSNiteLP27-s4-komori.pdfResponsive Web Design 2013. 05. 25 こもりまさあき CSS Nite LP Disk 27 「スマートフォン対応サイト制作(3

Title

Navigation

Paging Navigation

Footer

Aside Contents

Main Contents 1

Main Contents 2

1

2

3

4

5

6

7

Page 33: Responsive Web Design - CSS Nite公式サイトcssnite.jp/lp/lp27/CSSNiteLP27-s4-komori.pdfResponsive Web Design 2013. 05. 25 こもりまさあき CSS Nite LP Disk 27 「スマートフォン対応サイト制作(3

Title

Navigation

Paging Navigation

Main Contents 1

Main Contents 2

1

2

3

4

5

Title

Navigation

Paging Navigation

Main Contents 1

Main Contents 2

1

2

3

4

5

Page 34: Responsive Web Design - CSS Nite公式サイトcssnite.jp/lp/lp27/CSSNiteLP27-s4-komori.pdfResponsive Web Design 2013. 05. 25 こもりまさあき CSS Nite LP Disk 27 「スマートフォン対応サイト制作(3

情報ブロックの表示順をコントロールするなら

Page 35: Responsive Web Design - CSS Nite公式サイトcssnite.jp/lp/lp27/CSSNiteLP27-s4-komori.pdfResponsive Web Design 2013. 05. 25 こもりまさあき CSS Nite LP Disk 27 「スマートフォン対応サイト制作(3

CSS3の「Flexible Box Layout Module」で

Page 36: Responsive Web Design - CSS Nite公式サイトcssnite.jp/lp/lp27/CSSNiteLP27-s4-komori.pdfResponsive Web Design 2013. 05. 25 こもりまさあき CSS Nite LP Disk 27 「スマートフォン対応サイト制作(3

@media screen and (max-width: 48em) { #container { display:box; display:-moz-box; display:-webkit-box; box-orient:vertical; -moz-box-orient:vertical; -webkit-box-orient:vertical; } #container .main, #container header, #container aside, #container footer, #container nav, #container .example_ad { box-ordinal-group: 1; -moz-box-ordinal-group: 1; -webkit-box-ordinal-group: 1; }

#container .example_ad { box-ordinal-group: 4; -moz-box-ordinal-group: 4; -webkit-box-ordinal-group: 4; } #container nav { box-ordinal-group: 2; -moz-box-ordinal-group: 2; -webkit-box-ordinal-group: 2; } #container footer { box-ordinal-group: 3; -moz-box-ordinal-group: 3; -webkit-box-ordinal-group: 3; }}

Page 37: Responsive Web Design - CSS Nite公式サイトcssnite.jp/lp/lp27/CSSNiteLP27-s4-komori.pdfResponsive Web Design 2013. 05. 25 こもりまさあき CSS Nite LP Disk 27 「スマートフォン対応サイト制作(3

Content Choreography Mixins In LESShttp://www.alwaystwisted.com/post.php?s=2012-05-17-content-choreography-mixins-in-less

Content Choreography Mixinhttp://blog.woop.ie/post/23227066135/content-choreography-mixin

Page 38: Responsive Web Design - CSS Nite公式サイトcssnite.jp/lp/lp27/CSSNiteLP27-s4-komori.pdfResponsive Web Design 2013. 05. 25 こもりまさあき CSS Nite LP Disk 27 「スマートフォン対応サイト制作(3

複数サイズの画像を切り替える方法がわからない

Page 39: Responsive Web Design - CSS Nite公式サイトcssnite.jp/lp/lp27/CSSNiteLP27-s4-komori.pdfResponsive Web Design 2013. 05. 25 こもりまさあき CSS Nite LP Disk 27 「スマートフォン対応サイト制作(3

demo

Page 40: Responsive Web Design - CSS Nite公式サイトcssnite.jp/lp/lp27/CSSNiteLP27-s4-komori.pdfResponsive Web Design 2013. 05. 25 こもりまさあき CSS Nite LP Disk 27 「スマートフォン対応サイト制作(3

W3Cでも、画像配信のことには議論が進んでいる

Page 41: Responsive Web Design - CSS Nite公式サイトcssnite.jp/lp/lp27/CSSNiteLP27-s4-komori.pdfResponsive Web Design 2013. 05. 25 こもりまさあき CSS Nite LP Disk 27 「スマートフォン対応サイト制作(3

picture要素、srcset属性

Page 44: Responsive Web Design - CSS Nite公式サイトcssnite.jp/lp/lp27/CSSNiteLP27-s4-komori.pdfResponsive Web Design 2013. 05. 25 こもりまさあき CSS Nite LP Disk 27 「スマートフォン対応サイト制作(3

似たようなカタチで先行実装するPicturefillを使ってみる

Page 46: Responsive Web Design - CSS Nite公式サイトcssnite.jp/lp/lp27/CSSNiteLP27-s4-komori.pdfResponsive Web Design 2013. 05. 25 こもりまさあき CSS Nite LP Disk 27 「スマートフォン対応サイト制作(3

<div data-picture data-alt="Alt Text"> <div data-src="small.jpg"></div><div data-src="medium.jpg" data-media="(min-width: 400px)"></div><div data-src="large.jpg" data-media="(min-width: 800px)"></div><div data-src="extralarge.jpg" data-media="(min-width: 1000px)"></div>

<!-- Fallback content for non-JS browsers. --><noscript><img src="external/imgs/small.jpg" alt="Alt Text">

</noscript></div>

Page 47: Responsive Web Design - CSS Nite公式サイトcssnite.jp/lp/lp27/CSSNiteLP27-s4-komori.pdfResponsive Web Design 2013. 05. 25 こもりまさあき CSS Nite LP Disk 27 「スマートフォン対応サイト制作(3

ラクをしたい

Page 48: Responsive Web Design - CSS Nite公式サイトcssnite.jp/lp/lp27/CSSNiteLP27-s4-komori.pdfResponsive Web Design 2013. 05. 25 こもりまさあき CSS Nite LP Disk 27 「スマートフォン対応サイト制作(3

demo

Page 49: Responsive Web Design - CSS Nite公式サイトcssnite.jp/lp/lp27/CSSNiteLP27-s4-komori.pdfResponsive Web Design 2013. 05. 25 こもりまさあき CSS Nite LP Disk 27 「スマートフォン対応サイト制作(3

Frameworks や Static Site Generators を有効活用

Page 58: Responsive Web Design - CSS Nite公式サイトcssnite.jp/lp/lp27/CSSNiteLP27-s4-komori.pdfResponsive Web Design 2013. 05. 25 こもりまさあき CSS Nite LP Disk 27 「スマートフォン対応サイト制作(3

Deciding in The Browser

Page 59: Responsive Web Design - CSS Nite公式サイトcssnite.jp/lp/lp27/CSSNiteLP27-s4-komori.pdfResponsive Web Design 2013. 05. 25 こもりまさあき CSS Nite LP Disk 27 「スマートフォン対応サイト制作(3

やってみないとわからない。だから、動くものを先に

Page 60: Responsive Web Design - CSS Nite公式サイトcssnite.jp/lp/lp27/CSSNiteLP27-s4-komori.pdfResponsive Web Design 2013. 05. 25 こもりまさあき CSS Nite LP Disk 27 「スマートフォン対応サイト制作(3

デザインカンプは、むしろ作りながらでも

Page 62: Responsive Web Design - CSS Nite公式サイトcssnite.jp/lp/lp27/CSSNiteLP27-s4-komori.pdfResponsive Web Design 2013. 05. 25 こもりまさあき CSS Nite LP Disk 27 「スマートフォン対応サイト制作(3

casperjs screenshot.js http://localhost/

Page 63: Responsive Web Design - CSS Nite公式サイトcssnite.jp/lp/lp27/CSSNiteLP27-s4-komori.pdfResponsive Web Design 2013. 05. 25 こもりまさあき CSS Nite LP Disk 27 「スマートフォン対応サイト制作(3

Windows環境の方に朗報

Page 65: Responsive Web Design - CSS Nite公式サイトcssnite.jp/lp/lp27/CSSNiteLP27-s4-komori.pdfResponsive Web Design 2013. 05. 25 こもりまさあき CSS Nite LP Disk 27 「スマートフォン対応サイト制作(3

プロジェクトに合わせたワークフローを作るべし

Page 66: Responsive Web Design - CSS Nite公式サイトcssnite.jp/lp/lp27/CSSNiteLP27-s4-komori.pdfResponsive Web Design 2013. 05. 25 こもりまさあき CSS Nite LP Disk 27 「スマートフォン対応サイト制作(3

demo

Page 67: Responsive Web Design - CSS Nite公式サイトcssnite.jp/lp/lp27/CSSNiteLP27-s4-komori.pdfResponsive Web Design 2013. 05. 25 こもりまさあき CSS Nite LP Disk 27 「スマートフォン対応サイト制作(3

本日のまとめ

•できないのではなく、実装方法はいくらでもある

•使える技術を知って、組み合わせながらどんどん使う

•プロジェクトにあったワークフローを作るとカンタン

Page 68: Responsive Web Design - CSS Nite公式サイトcssnite.jp/lp/lp27/CSSNiteLP27-s4-komori.pdfResponsive Web Design 2013. 05. 25 こもりまさあき CSS Nite LP Disk 27 「スマートフォン対応サイト制作(3

本日はありがとうございました