モバイル端末用に表示を切替える(試行編)

実際にHTMLやスタイルシートを変更して、どういった画面表示になるかを試してみる
  基本方針としてはCSSの変更のみで対応することにする

切替え作業に着手する前の状態は以下の通り
  横幅を固定し、2カラムで作成したサイトを切替えの対象とする
  最上段はheader部、中央はmain部と右横にsidebar部、最下段はfooter部となっている
  横幅800pxの固定幅で定義している

1.スマホの試行テストを開始する
スマホの表示をテストする
  ・違和感の有る画面が表示される
    800pxの固定幅画面全体を忠実にスマホ画面に表示する

      文字は小さくて読みづらい、ピンチアウト(拡大)操作すれば読めるようにはなる

HTMLを修正する(全ページのheader部の修正となるが、限定的なので方針内とする)
  ・HTMLに【viewport】を追加する
     <meta name=”viewport” content=”width=device-width,initial-scale=1.0″ >

スマホの表示をテストする
  ・違和感の有る画面が表示される
    【initial-scale】を指定したにも関わらず、数倍に拡大されたものが表示される

      sidebar部はオーバーフローしmain部の下方に回りこんで表示されている
      文字は小さくて読みづらい、画面下方にはスライドバーが表示されている

    ピンチイン(縮小)操作すれば読めるようにはなる、画面下方のスライドバーも見えなくなる

スマホ用のスタイルシートを用意する
  ・HTMLに【link】を追加し、新たにスマホ用CSSを指定する
    <link rel=”stylesheet” href=”css/smart.css” media=”screen and (max-width: 500px)” type=”text/css”/>

    従来のPC用CSS定義の行の次に挿入する
      共通のスタイルシートを先に、個別のスタイルシートを後に定義する
        ※link命令と@import命令の読込み順位は不明、だが経験値としてこの順でないといけない

  ・CSSファイルを新たに用意する
    【@import】命令で共通のスタイルシートを呼び出しておく

    【width】で定義してある固定幅の値を100%と上書き訂正する(当然複数箇所の対応となる)

スマホの表示をテストする
  ・違和感の有る画面が表示される
    違和感は有るが、HTMLとCSSの値が反映され始めていると確信する

    後は、CSSの微調整を繰り返して行い、気長に表示画面をスマホ用にするだけとなる

修正手順を整理しながら、少しづつ進める(実際には、行きつ戻りつの試行錯誤を何度と無く繰り返す)
  ・HTMLの修正は以下の様にする・・・・・・表示幅の大きいモノから順に並べて定義する
    <meta name=”viewport” content=”width=device-width,initial-scale=1″ / >
    <link rel=”stylesheet” href=”css/pc.css” type=”text/css” media=”screen and (min-width: 1024px)”/>
    <link rel=”stylesheet” href=”css/tablet.css” type=”text/css” media=”screen and (min-width:768px) and (max-width:1023px)”/>
    <link rel=”stylesheet” href=”css/smart_l.css” type=”text/css” media=”screen and (min-width:480px) and (max-width:767px)”/>
    <link rel=”stylesheet” href=”css/smart_s.css” type=”text/css” media=”screen and (max-width:479px)”/>

    値の設定はスマホは320px x 480px、タブレットは768px x 1024pxと想定している

  ・CSSの修正は以下の様にする
    【width】を100%にする、画面横幅いっぱいに表示されると想定する
    【background-color】を使って各CSSごとに色を変えた、CSS定義の反映状況の確認に使用する
      HTMLの記述やCSSの定義に自信が無い初期段階での表示テストには有効であった

スマホの表示をテストする
    縦にして表示すると
      特定のブロックだけが右に飛び出している
      背景の色を見て、修正した縦型CSSが反映されていると確信する
    横にして表示すると
      画面からはみ出さずにピッタリと収まっている
      文字の大きさがアンバランスな感じ、途中で切れている部分もある
      背景の色を見て、修正した横型CSSが反映されていると確信する

    縦で表示してから横にすると
      文字も大きくなり、画面からはみ出してしまう、ピッタリ収まっていたのに・・・・かなり長時間悩んだ
        収まらなくなった原因は【inirtial-scale】はページを読み込んだ時のみ有効と分かる
        読み込んだ後で縦横を変化させても、ページの再読み込みは行わないため
        320px分を480pxにして表示したため、1.5倍の大きさになって表示されたと分かる

  ここまでのテストで基本的な動きが保障されたので、後はCSSの微調整だと割り切る
    デバイスの表示幅の範囲に合わせて最適な固定幅を定義をしたり
    デバイスの物理属性に合わせて最適なCSSを選んだり
    試行テストの種類にはまだ先がある、が一旦ここで打ち切ってCSSの微調整を行って収束させる

2.タブレットの試行テストを開始する
タブレットの表示をテストする(800pxの固定のまま)
    横にして表示すると
      画面からはみ出さずにこじんまりと中央に収まっている

      背景の色は、タブレット用に指定した色ではなくて、PC用の色が反映されている

  タブレットはPC用のCSSで賄えると判断し、タブレットのテストは終了させる


Comments

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください