SlideShare una empresa de Scribd logo
1 de 56
Descargar para leer sin conexión
スマホ

    新時代に乗り遅れない為の




                  RWD
             RESPONSIVE WEB DESIGN

               INVOGUE MARK UP Div 岩村 東正




13年3月5日火曜日
PART01

             RWDについて


   PART02

             実際の構築方法について


13年3月5日火曜日
PART00

                  RWDについて




13年3月5日火曜日
RWD

             =
     スマートフォンやタブレット、
     PCなどあらゆるデバイスに対応する制作手法



13年3月5日火曜日
なぜそうすべきなのか?




13年3月5日火曜日
スマホユーザーの増加
13年3月5日火曜日
4割に拡大
             40




             30




             20




             10




              0
                  2010年9月   2011年4月   2011年10月   2012年5月   2012年10月

             http://www.impressrd.jp/news/121120/kwp2013
13年3月5日火曜日
RWD




13年3月5日火曜日
スマホサイト作れば早くない?




13年3月5日火曜日
良くある書かれてある


                メリットとデメリット




13年3月5日火曜日
メリット
   単一のURLになるのでSEO面で強い
   メンテナンスが楽(レイアウトによる)


   デメリット
   重くなる
   IE

13年3月5日火曜日
DEMO



13年3月5日火曜日
IMJ




                   http://www.imjp.co.jp/
13年3月5日火曜日
食べログ




                    http://tabelog.com/
13年3月5日火曜日
?
13年3月5日火曜日
① サイト作り直すのが面倒

     ② サイトが重くなってしまうから

     ③ ユーザーの目的が違うから


13年3月5日火曜日
コンテンツストラテジー




13年3月5日火曜日
PC        SP


             位置    固定      どこでも

                          走る、歩きなが
             行動   座ったまま
                          ら、電車の中

             通信    安定       不安定


             UI    自由       画面小


13年3月5日火曜日
• ユーザーがモバイル端末をどう使用するか、
    なぜ使用するかを考慮し設計すること。



    • コンテンツを重視すること



    • 明瞭で焦点をはっきりさせること

13年3月5日火曜日
モバイルファースト



             コンテンツファースト
             ユーザーファースト
13年3月5日火曜日
13年3月5日火曜日
まとめ


   ユーザーがどのような情報を
   求めているのかよく考えよう



13年3月5日火曜日
PART02

      CORDING




13年3月5日火曜日
DEMO




13年3月5日火曜日
01

      CSS
    02

     HTML
    03

     JAVASCRIPT
13年3月5日火曜日
CSS



13年3月5日火曜日
MEDIA QUERIES

   解像度やデバイスの向きなどから条件を判定




13年3月5日火曜日
書き方3種類




13年3月5日火曜日
MEDIA属性
   <link rel="stylesheet" media="screen and (max-width:800px)" href="#" />




   @IMPORTルール
   @import url(example.css) screen and (max-width:800px);




  @MEDIAルール                 GOOD!
   @media screen and (max-width:800px) {}



13年3月5日火曜日
PC用サイトのCSSを上書きする
             http://web.invogue.biz/seminar/iwamura/css/common/global.css




13年3月5日火曜日
<div id="Container">




      header




      footer




      article

                                    </div>
13年3月5日火曜日
header




  article


13年3月5日火曜日
PC用
        /* ==================================================
           Header
        ================================================== */
        #Header{
        ! width:205px;
        ! height:100%;
        ! position:fixed;
        ! top:0;
        ! left:0;
        ! z-index:100;
        ! background:url(../../images/common/
        bg_main_shadow.png) repeat-y 0 0;
        }
        #Header div.header-inline{
        ! width:202px;
        }




13年3月5日火曜日
スマホ用
        /* ==================================================
           Header
        ================================================== */

        @media screen and (max-width: 767px){
        #Header{
        ! width:100%;
        ! height:40px;
        ! padding:0;
        ! background:#FFF;
        }

        }



             必要な部分のみ上書きする
13年3月5日火曜日
HTML




13年3月5日火曜日
13年3月5日火曜日
デザイン自体を変更したい



                   =
             背景画像を使用したマークアップ




13年3月5日火曜日
<nav>
   <ul id="GlobalNav">
   <li class="g-nav01"><a href="#">ARAI</a></li>
   <li class="g-nav02"><a href="#">HATTORI</a></li>
   <li class="g-nav03"><a href="#">AKIBA</a></li>
   <li class="g-nav04"><a href="#">IWAMURA</a></li>
   <li id="SpClose"><a href="javascript:void(0);">CLOSE</a></li>
   </ul>
   </nav>



13年3月5日火曜日
/* 各画像に指定 */
   #Header #GlobalNavWrap #GlobalNav li.g-nav01   > a{
   ! background-image:url(../../images/common/
   g_navi_btn01.png);
   }
   #Header #GlobalNavWrap #GlobalNav li.g-nav02   > a{
   ! background-image:url(../../images/common/
   g_navi_btn02.png);
   }
   #Header #GlobalNavWrap #GlobalNav li.g-nav03   > a{
   ! background-image:url(../../images/common/
   g_navi_btn03.png);
   }
   #Header #GlobalNavWrap #GlobalNav li.g-nav04   > a{
   ! background-image:url(../../images/common/
   g_navi_btn04.png);
   }


13年3月5日火曜日
/* SP */
   @media screen and (max-width: 767px){
   /* 各画像に指定 */
   #Header #GlobalNavWrap #GlobalNav li.g-nav01 a{
   ! background-image:url(../../images/common/sp/
   g_navi_btn01.png);
   }
   #Header #GlobalNavWrap #GlobalNav li.g-nav02 a{
   ! background-image:url(../../images/common/sp/
   g_navi_btn02.png);
   }
   #Header #GlobalNavWrap #GlobalNav li.g-nav03 a{
   ! background-image:url(../../images/common/sp/
   g_navi_btn03.png);
   }
   #Header #GlobalNavWrap #GlobalNav li.g-nav04 a{
   ! background-image:url(../../images/common/sp/
   g_navi_btn04.png);
   }
   }
13年3月5日火曜日
MENU、CLOSEボタンはPCでは非表示

13年3月5日火曜日
画像を伸縮させたい



                 =
             画像に100%の記述




13年3月5日火曜日
13年3月5日火曜日
MAX-WIDTH:100%;
                  img {
                   max-width: 100%;
                   border: 0;
                   vertical-align: top;
                 }


                  WIDTH:100%;
     <img src="images/index/mainvisual_l.png" width="100%">



13年3月5日火曜日
100%   50%




             33%




13年3月5日火曜日
JAVASCRIPT




13年3月5日火曜日
HTML CSSでは実現できない事をサポート




13年3月5日火曜日
デバイスタイプの取得




13年3月5日火曜日
Common.getdeviceType = function(){
    ! ! var deviceType;
    ! ! var userAgent = window.navigator.userAgent.toLowerCase();
    ! ! if((userAgent.indexOf('iphone') > -1 &&
    userAgent.indexOf('ipad') == -1) || userAgent.indexOf('ipod') >
    -1){
    ! ! ! deviceType='iphone';
    ! ! } else if(userAgent.indexOf('android') > -1){
    ! ! ! deviceType='android';
    ! ! }else if(userAgent.indexOf('windows phone') > -1){
    ! ! ! deviceType='windowsphone';
    ! ! }else if(userAgent.indexOf('ipad') > -1 ){
    ! ! ! deviceType='ipad';
    ! ! }else{
    ! ! ! deviceType='pc';
    ! ! }
    ! ! !
    ! ! return deviceType;
    };//getbrowserType

13年3月5日火曜日
ブラウザタイプの取得




13年3月5日火曜日
Common.getbrowserType = function(){
      ! ! var browserType;
      ! ! var userAgent = window.navigator.userAgent.toLowerCase();
      ! ! var appVersion =
      window.navigator.appVersion.toLowerCase();
      ! ! if(userAgent.indexOf("msie") > -1) {
      ! ! ! if(appVersion.indexOf("msie 6.") > -1) {
      ! ! ! ! browserType='ie6';
      ! ! ! } else if(appVersion.indexOf("msie 7.") > -1) {
      ! ! ! ! browserType='ie7';
      ! ! ! } else if(appVersion.indexOf("msie 8.") > -1) {
      ! ! ! ! browserType='ie8';
      ! ! ! } else if(appVersion.indexOf("msie 9.") > -1) {
      ! ! ! ! browserType='ie9';
      ! ! ! }
      ! ! } else if(userAgent.indexOf("firefox") > -1) {
      ! ! ! browserType='firefox';
      ! ! } else if(userAgent.indexOf("opera") > -1) {
      ! ! ! browserType='opera';
      ! ! } else if(userAgent.indexOf("chrome") > -1) {
      ! ! ! browserType='chrome';
      ! ! } else if(userAgent.indexOf("safari") > -1) {
      ! ! ! browserType='safari';
      ! ! } else {
      ! ! ! browserType='unknown';
      ! ! }
      ! ! return browserType;
      };//getbrowserType

13年3月5日火曜日
BODYにフラグとなるクラスをつける




13年3月5日火曜日
Common.switchClass = function(){
             ! var _w       = $('window').width();
             ! var _h       = $('window').height();
             ! var $body    = $('body');
             ! /**
             ! * PC---1024px
             ! * SP---768px以下
             ! */
               var flgWidth   = 767;
             ! $(window).resize(resizeHandler);
             ! resizeHandler();
             !   function resizeHandler(){
             !   ! //widthを再定義
             !   ! _w = $(window).width();
             !   ! if(_w <= flgWidth){
             !   ! ! if(!$body.hasClass('Sp')){
             !   ! ! ! $body.removeClass('Pc');
             !   ! ! ! $body.addClass('Sp');
             !   ! ! }
             !   ! }else{
             !   ! ! if(!$body.hasClass('Pc')){
             !   ! ! ! $body.removeClass('Sp');
             !   ! ! ! $body.addClass('Pc');
             !   ! ! }
             !   ! }
             !   }
             };//
13年3月5日火曜日
まとめ
  @MEDIAルールを使おう


  デザインが変わる部分は背景画像で


   パーセント指定のレイアウトを心がけよう

   JAVASCRIPTはHTML、CSSで補えない部分を


13年3月5日火曜日
全体まとめ

             ユーザー目線を忘れずに




13年3月5日火曜日
ありがとうございました




13年3月5日火曜日

Más contenido relacionado

Destacado

Web制作で培ってきたFlashのリッチな表現力をモバイルアプリに
Web制作で培ってきたFlashのリッチな表現力をモバイルアプリにWeb制作で培ってきたFlashのリッチな表現力をモバイルアプリに
Web制作で培ってきたFlashのリッチな表現力をモバイルアプリにinvogue
 
GIMP PRAKTIKA JONE ETA IRATI
GIMP PRAKTIKA JONE ETA IRATIGIMP PRAKTIKA JONE ETA IRATI
GIMP PRAKTIKA JONE ETA IRATIJone_Irati
 
10 steps to success in sales
10 steps to success in  sales10 steps to success in  sales
10 steps to success in salesRobin Shivhare
 
Digital Northern Rivers - Local Government
Digital Northern Rivers - Local GovernmentDigital Northern Rivers - Local Government
Digital Northern Rivers - Local GovernmentDigital-Northern-Rivers
 
plants
 plants plants
plantsCat234
 
Chapter 3 acc165
Chapter 3 acc165Chapter 3 acc165
Chapter 3 acc165intangrr
 
Digital Northern Rivers - Creative Industries
Digital Northern Rivers - Creative IndustriesDigital Northern Rivers - Creative Industries
Digital Northern Rivers - Creative IndustriesDigital-Northern-Rivers
 
Digital Northern Rivers - Emergency Management
Digital Northern Rivers -  Emergency ManagementDigital Northern Rivers -  Emergency Management
Digital Northern Rivers - Emergency ManagementDigital-Northern-Rivers
 
State Sponsored Starvation
State Sponsored StarvationState Sponsored Starvation
State Sponsored Starvationkcoursey
 

Destacado (16)

Web制作で培ってきたFlashのリッチな表現力をモバイルアプリに
Web制作で培ってきたFlashのリッチな表現力をモバイルアプリにWeb制作で培ってきたFlashのリッチな表現力をモバイルアプリに
Web制作で培ってきたFlashのリッチな表現力をモバイルアプリに
 
Research
ResearchResearch
Research
 
My contents page analyss
My contents page analyssMy contents page analyss
My contents page analyss
 
GIMP PRAKTIKA JONE ETA IRATI
GIMP PRAKTIKA JONE ETA IRATIGIMP PRAKTIKA JONE ETA IRATI
GIMP PRAKTIKA JONE ETA IRATI
 
My contents page analyss
My contents page analyssMy contents page analyss
My contents page analyss
 
10 steps to success in sales
10 steps to success in  sales10 steps to success in  sales
10 steps to success in sales
 
Digital Northern Rivers - Local Government
Digital Northern Rivers - Local GovernmentDigital Northern Rivers - Local Government
Digital Northern Rivers - Local Government
 
Question 3
Question 3Question 3
Question 3
 
plants
 plants plants
plants
 
Chapter 3 acc165
Chapter 3 acc165Chapter 3 acc165
Chapter 3 acc165
 
Digital Northern Rivers - Creative Industries
Digital Northern Rivers - Creative IndustriesDigital Northern Rivers - Creative Industries
Digital Northern Rivers - Creative Industries
 
Digital Northern Rivers - Business
Digital Northern Rivers - BusinessDigital Northern Rivers - Business
Digital Northern Rivers - Business
 
Digital Northern Rivers - Emergency Management
Digital Northern Rivers -  Emergency ManagementDigital Northern Rivers -  Emergency Management
Digital Northern Rivers - Emergency Management
 
State Sponsored Starvation
State Sponsored StarvationState Sponsored Starvation
State Sponsored Starvation
 
Agentes cancerigenos
Agentes cancerigenosAgentes cancerigenos
Agentes cancerigenos
 
Agentes cancerigenos
Agentes cancerigenosAgentes cancerigenos
Agentes cancerigenos
 

Similar a スマフォ時代に乗り遅れない為のレスポンシブ・ウェブデザイン

MTDDC Meetup HOKKAIDO 2013 KEYNOTE - Movable Type 6
MTDDC Meetup HOKKAIDO 2013 KEYNOTE - Movable Type 6MTDDC Meetup HOKKAIDO 2013 KEYNOTE - Movable Type 6
MTDDC Meetup HOKKAIDO 2013 KEYNOTE - Movable Type 6Daiji Hirata
 
マルチデバイス対応のコーディング・マークアップのポイント
マルチデバイス対応のコーディング・マークアップのポイントマルチデバイス対応のコーディング・マークアップのポイント
マルチデバイス対応のコーディング・マークアップのポイントMasayuki Maekawa
 
pyramid_layoutと僕と、ときどきzope.interface
pyramid_layoutと僕と、ときどきzope.interfacepyramid_layoutと僕と、ときどきzope.interface
pyramid_layoutと僕と、ときどきzope.interfacehirokiky
 
Androiderとi os屋さんがfirefoxosアプリを作ったら
Androiderとi os屋さんがfirefoxosアプリを作ったらAndroiderとi os屋さんがfirefoxosアプリを作ったら
Androiderとi os屋さんがfirefoxosアプリを作ったらKazuhiro Furue
 
Pythonと DataDogを 使って簡単な システムモニターリング (Pycon apac 2013)
Pythonと DataDogを 使って簡単な システムモニターリング (Pycon apac 2013)Pythonと DataDogを 使って簡単な システムモニターリング (Pycon apac 2013)
Pythonと DataDogを 使って簡単な システムモニターリング (Pycon apac 2013)Naotaka Jay HOTTA
 
Jyoken 講習20150513
Jyoken 講習20150513Jyoken 講習20150513
Jyoken 講習20150513reew2n
 
開発環境としてのAwsを真面目に考える jawsug2013三都物語公開用
開発環境としてのAwsを真面目に考える jawsug2013三都物語公開用開発環境としてのAwsを真面目に考える jawsug2013三都物語公開用
開発環境としてのAwsを真面目に考える jawsug2013三都物語公開用Takuro Sasaki
 
大(中)規模Java script開発について
大(中)規模Java script開発について大(中)規模Java script開発について
大(中)規模Java script開発についてYuki Tanaka
 
みんなもっとツール作ろうよ
みんなもっとツール作ろうよみんなもっとツール作ろうよ
みんなもっとツール作ろうよwizstargaer
 
MT meets PHP - PHP conference Kansai 2013
MT meets PHP - PHP conference Kansai 2013MT meets PHP - PHP conference Kansai 2013
MT meets PHP - PHP conference Kansai 2013純生 野田
 
MTDDC 2013: Movable Type 6: 新しいMovable Typeのコンセプトと特徴
MTDDC 2013: Movable Type 6: 新しいMovable Typeのコンセプトと特徴MTDDC 2013: Movable Type 6: 新しいMovable Typeのコンセプトと特徴
MTDDC 2013: Movable Type 6: 新しいMovable Typeのコンセプトと特徴Daiji Hirata
 
Movable type 6 Overview (2013.10.24)
Movable type 6 Overview (2013.10.24)Movable type 6 Overview (2013.10.24)
Movable type 6 Overview (2013.10.24)Daiji Hirata
 
OSMを使ったスマホ&Web開発入門
OSMを使ったスマホ&Web開発入門OSMを使ったスマホ&Web開発入門
OSMを使ったスマホ&Web開発入門Taro Matsuzawa
 
開発エンジニアがChefで テスト駆動サーバー設定してみた #biglobetechtalk
開発エンジニアがChefで テスト駆動サーバー設定してみた #biglobetechtalk開発エンジニアがChefで テスト駆動サーバー設定してみた #biglobetechtalk
開発エンジニアがChefで テスト駆動サーバー設定してみた #biglobetechtalkBIGLOBE Tech Talk
 
真のレシポンシブって何だろう
真のレシポンシブって何だろう真のレシポンシブって何だろう
真のレシポンシブって何だろうYumi uniq Ishizaki
 
WebComponentsをPolymerとgulpとyeomanでさっくり使い始めよう
WebComponentsをPolymerとgulpとyeomanでさっくり使い始めようWebComponentsをPolymerとgulpとyeomanでさっくり使い始めよう
WebComponentsをPolymerとgulpとyeomanでさっくり使い始めようHidetaka Okamoto
 

Similar a スマフォ時代に乗り遅れない為のレスポンシブ・ウェブデザイン (20)

MTDDC Meetup HOKKAIDO 2013 KEYNOTE - Movable Type 6
MTDDC Meetup HOKKAIDO 2013 KEYNOTE - Movable Type 6MTDDC Meetup HOKKAIDO 2013 KEYNOTE - Movable Type 6
MTDDC Meetup HOKKAIDO 2013 KEYNOTE - Movable Type 6
 
マルチデバイス対応のコーディング・マークアップのポイント
マルチデバイス対応のコーディング・マークアップのポイントマルチデバイス対応のコーディング・マークアップのポイント
マルチデバイス対応のコーディング・マークアップのポイント
 
pyramid_layoutと僕と、ときどきzope.interface
pyramid_layoutと僕と、ときどきzope.interfacepyramid_layoutと僕と、ときどきzope.interface
pyramid_layoutと僕と、ときどきzope.interface
 
Androiderとi os屋さんがfirefoxosアプリを作ったら
Androiderとi os屋さんがfirefoxosアプリを作ったらAndroiderとi os屋さんがfirefoxosアプリを作ったら
Androiderとi os屋さんがfirefoxosアプリを作ったら
 
Pythonと DataDogを 使って簡単な システムモニターリング (Pycon apac 2013)
Pythonと DataDogを 使って簡単な システムモニターリング (Pycon apac 2013)Pythonと DataDogを 使って簡単な システムモニターリング (Pycon apac 2013)
Pythonと DataDogを 使って簡単な システムモニターリング (Pycon apac 2013)
 
Jyoken 講習20150513
Jyoken 講習20150513Jyoken 講習20150513
Jyoken 講習20150513
 
開発環境としてのAwsを真面目に考える jawsug2013三都物語公開用
開発環境としてのAwsを真面目に考える jawsug2013三都物語公開用開発環境としてのAwsを真面目に考える jawsug2013三都物語公開用
開発環境としてのAwsを真面目に考える jawsug2013三都物語公開用
 
大(中)規模Java script開発について
大(中)規模Java script開発について大(中)規模Java script開発について
大(中)規模Java script開発について
 
みんなもっとツール作ろうよ
みんなもっとツール作ろうよみんなもっとツール作ろうよ
みんなもっとツール作ろうよ
 
MT meets PHP - PHP conference Kansai 2013
MT meets PHP - PHP conference Kansai 2013MT meets PHP - PHP conference Kansai 2013
MT meets PHP - PHP conference Kansai 2013
 
MTDDC 2013: Movable Type 6: 新しいMovable Typeのコンセプトと特徴
MTDDC 2013: Movable Type 6: 新しいMovable Typeのコンセプトと特徴MTDDC 2013: Movable Type 6: 新しいMovable Typeのコンセプトと特徴
MTDDC 2013: Movable Type 6: 新しいMovable Typeのコンセプトと特徴
 
MT meets PHP
MT meets PHPMT meets PHP
MT meets PHP
 
Movable type 6 Overview (2013.10.24)
Movable type 6 Overview (2013.10.24)Movable type 6 Overview (2013.10.24)
Movable type 6 Overview (2013.10.24)
 
OSMを使ったスマホ&Web開発入門
OSMを使ったスマホ&Web開発入門OSMを使ったスマホ&Web開発入門
OSMを使ったスマホ&Web開発入門
 
サラリーマン
サラリーマンサラリーマン
サラリーマン
 
開発エンジニアがChefで テスト駆動サーバー設定してみた #biglobetechtalk
開発エンジニアがChefで テスト駆動サーバー設定してみた #biglobetechtalk開発エンジニアがChefで テスト駆動サーバー設定してみた #biglobetechtalk
開発エンジニアがChefで テスト駆動サーバー設定してみた #biglobetechtalk
 
真のレシポンシブって何だろう
真のレシポンシブって何だろう真のレシポンシブって何だろう
真のレシポンシブって何だろう
 
go & dart
go & dartgo & dart
go & dart
 
WebComponentsをPolymerとgulpとyeomanでさっくり使い始めよう
WebComponentsをPolymerとgulpとyeomanでさっくり使い始めようWebComponentsをPolymerとgulpとyeomanでさっくり使い始めよう
WebComponentsをPolymerとgulpとyeomanでさっくり使い始めよう
 
エンジニア勉強会_DECIDE
エンジニア勉強会_DECIDEエンジニア勉強会_DECIDE
エンジニア勉強会_DECIDE
 

Último

論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 

Último (9)

論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 

スマフォ時代に乗り遅れない為のレスポンシブ・ウェブデザイン

  • 1. スマホ 新時代に乗り遅れない為の RWD RESPONSIVE WEB DESIGN INVOGUE MARK UP Div 岩村 東正 13年3月5日火曜日
  • 2. PART01 RWDについて PART02 実際の構築方法について 13年3月5日火曜日
  • 3. PART00 RWDについて 13年3月5日火曜日
  • 4. RWD = スマートフォンやタブレット、 PCなどあらゆるデバイスに対応する制作手法 13年3月5日火曜日
  • 7. 4割に拡大 40 30 20 10 0 2010年9月 2011年4月 2011年10月 2012年5月 2012年10月 http://www.impressrd.jp/news/121120/kwp2013 13年3月5日火曜日
  • 10. 良くある書かれてある メリットとデメリット 13年3月5日火曜日
  • 11. メリット 単一のURLになるのでSEO面で強い メンテナンスが楽(レイアウトによる) デメリット 重くなる IE 13年3月5日火曜日
  • 13. IMJ http://www.imjp.co.jp/ 13年3月5日火曜日
  • 14. 食べログ http://tabelog.com/ 13年3月5日火曜日
  • 16. ① サイト作り直すのが面倒 ② サイトが重くなってしまうから ③ ユーザーの目的が違うから 13年3月5日火曜日
  • 18. PC SP 位置 固定 どこでも 走る、歩きなが 行動 座ったまま ら、電車の中 通信 安定 不安定 UI 自由 画面小 13年3月5日火曜日
  • 19. • ユーザーがモバイル端末をどう使用するか、  なぜ使用するかを考慮し設計すること。 • コンテンツを重視すること • 明瞭で焦点をはっきりさせること 13年3月5日火曜日
  • 20. モバイルファースト コンテンツファースト ユーザーファースト 13年3月5日火曜日
  • 22. まとめ ユーザーがどのような情報を 求めているのかよく考えよう 13年3月5日火曜日
  • 23. PART02 CORDING 13年3月5日火曜日
  • 25. 01 CSS 02 HTML 03 JAVASCRIPT 13年3月5日火曜日
  • 27. MEDIA QUERIES 解像度やデバイスの向きなどから条件を判定 13年3月5日火曜日
  • 29. MEDIA属性 <link rel="stylesheet" media="screen and (max-width:800px)" href="#" /> @IMPORTルール @import url(example.css) screen and (max-width:800px); @MEDIAルール GOOD! @media screen and (max-width:800px) {} 13年3月5日火曜日
  • 30. PC用サイトのCSSを上書きする http://web.invogue.biz/seminar/iwamura/css/common/global.css 13年3月5日火曜日
  • 31. <div id="Container"> header footer article </div> 13年3月5日火曜日
  • 33. PC用 /* ================================================== Header ================================================== */ #Header{ ! width:205px; ! height:100%; ! position:fixed; ! top:0; ! left:0; ! z-index:100; ! background:url(../../images/common/ bg_main_shadow.png) repeat-y 0 0; } #Header div.header-inline{ ! width:202px; } 13年3月5日火曜日
  • 34. スマホ用 /* ================================================== Header ================================================== */ @media screen and (max-width: 767px){ #Header{ ! width:100%; ! height:40px; ! padding:0; ! background:#FFF; } } 必要な部分のみ上書きする 13年3月5日火曜日
  • 37. デザイン自体を変更したい = 背景画像を使用したマークアップ 13年3月5日火曜日
  • 38. <nav> <ul id="GlobalNav"> <li class="g-nav01"><a href="#">ARAI</a></li> <li class="g-nav02"><a href="#">HATTORI</a></li> <li class="g-nav03"><a href="#">AKIBA</a></li> <li class="g-nav04"><a href="#">IWAMURA</a></li> <li id="SpClose"><a href="javascript:void(0);">CLOSE</a></li> </ul> </nav> 13年3月5日火曜日
  • 39. /* 各画像に指定 */ #Header #GlobalNavWrap #GlobalNav li.g-nav01 > a{ ! background-image:url(../../images/common/ g_navi_btn01.png); } #Header #GlobalNavWrap #GlobalNav li.g-nav02 > a{ ! background-image:url(../../images/common/ g_navi_btn02.png); } #Header #GlobalNavWrap #GlobalNav li.g-nav03 > a{ ! background-image:url(../../images/common/ g_navi_btn03.png); } #Header #GlobalNavWrap #GlobalNav li.g-nav04 > a{ ! background-image:url(../../images/common/ g_navi_btn04.png); } 13年3月5日火曜日
  • 40. /* SP */ @media screen and (max-width: 767px){ /* 各画像に指定 */ #Header #GlobalNavWrap #GlobalNav li.g-nav01 a{ ! background-image:url(../../images/common/sp/ g_navi_btn01.png); } #Header #GlobalNavWrap #GlobalNav li.g-nav02 a{ ! background-image:url(../../images/common/sp/ g_navi_btn02.png); } #Header #GlobalNavWrap #GlobalNav li.g-nav03 a{ ! background-image:url(../../images/common/sp/ g_navi_btn03.png); } #Header #GlobalNavWrap #GlobalNav li.g-nav04 a{ ! background-image:url(../../images/common/sp/ g_navi_btn04.png); } } 13年3月5日火曜日
  • 42. 画像を伸縮させたい = 画像に100%の記述 13年3月5日火曜日
  • 44. MAX-WIDTH:100%; img { max-width: 100%; border: 0; vertical-align: top; } WIDTH:100%; <img src="images/index/mainvisual_l.png" width="100%"> 13年3月5日火曜日
  • 45. 100% 50% 33% 13年3月5日火曜日
  • 49. Common.getdeviceType = function(){ ! ! var deviceType; ! ! var userAgent = window.navigator.userAgent.toLowerCase(); ! ! if((userAgent.indexOf('iphone') > -1 && userAgent.indexOf('ipad') == -1) || userAgent.indexOf('ipod') > -1){ ! ! ! deviceType='iphone'; ! ! } else if(userAgent.indexOf('android') > -1){ ! ! ! deviceType='android'; ! ! }else if(userAgent.indexOf('windows phone') > -1){ ! ! ! deviceType='windowsphone'; ! ! }else if(userAgent.indexOf('ipad') > -1 ){ ! ! ! deviceType='ipad'; ! ! }else{ ! ! ! deviceType='pc'; ! ! } ! ! ! ! ! return deviceType; };//getbrowserType 13年3月5日火曜日
  • 51. Common.getbrowserType = function(){ ! ! var browserType; ! ! var userAgent = window.navigator.userAgent.toLowerCase(); ! ! var appVersion = window.navigator.appVersion.toLowerCase(); ! ! if(userAgent.indexOf("msie") > -1) { ! ! ! if(appVersion.indexOf("msie 6.") > -1) { ! ! ! ! browserType='ie6'; ! ! ! } else if(appVersion.indexOf("msie 7.") > -1) { ! ! ! ! browserType='ie7'; ! ! ! } else if(appVersion.indexOf("msie 8.") > -1) { ! ! ! ! browserType='ie8'; ! ! ! } else if(appVersion.indexOf("msie 9.") > -1) { ! ! ! ! browserType='ie9'; ! ! ! } ! ! } else if(userAgent.indexOf("firefox") > -1) { ! ! ! browserType='firefox'; ! ! } else if(userAgent.indexOf("opera") > -1) { ! ! ! browserType='opera'; ! ! } else if(userAgent.indexOf("chrome") > -1) { ! ! ! browserType='chrome'; ! ! } else if(userAgent.indexOf("safari") > -1) { ! ! ! browserType='safari'; ! ! } else { ! ! ! browserType='unknown'; ! ! } ! ! return browserType; };//getbrowserType 13年3月5日火曜日
  • 53. Common.switchClass = function(){ ! var _w = $('window').width(); ! var _h = $('window').height(); ! var $body = $('body'); ! /** ! * PC---1024px ! * SP---768px以下 ! */ var flgWidth = 767; ! $(window).resize(resizeHandler); ! resizeHandler(); ! function resizeHandler(){ ! ! //widthを再定義 ! ! _w = $(window).width(); ! ! if(_w <= flgWidth){ ! ! ! if(!$body.hasClass('Sp')){ ! ! ! ! $body.removeClass('Pc'); ! ! ! ! $body.addClass('Sp'); ! ! ! } ! ! }else{ ! ! ! if(!$body.hasClass('Pc')){ ! ! ! ! $body.removeClass('Sp'); ! ! ! ! $body.addClass('Pc'); ! ! ! } ! ! } ! } };// 13年3月5日火曜日
  • 54. まとめ @MEDIAルールを使おう デザインが変わる部分は背景画像で パーセント指定のレイアウトを心がけよう JAVASCRIPTはHTML、CSSで補えない部分を 13年3月5日火曜日
  • 55. 全体まとめ ユーザー目線を忘れずに 13年3月5日火曜日