「WordCamp Osaka 2012」レスポンシブWEBデザインに役立つセッション(by 額賀さん)のメモ。
前回に続き2012/11/03に大阪で行われた、「WordCamp Osaka 2012」で特に自分にとってためになったと思うセッションの自分用メモです♪今回「WordCamp Osaka 2012」で一番評判が良かったヌカガジュンコさんのセッションメモです♪
Session : 文系デザイナーでも大丈夫!レスポンシブWEBサイトをWordPressで作ってみよう
額賀さんは、カラーコーディネーター等の資格もお持ちで綺麗なWebサイトがお得意だそうです。セッションを拝見した限りでも、計画を持って積み上げて来られたご経験の豊富さが伺えました。お客さんが何を求めてられるかの聞き取りとプランディングをすごく大事にされているそうです。ご一緒させていただくと色々学ばせていただける方だと思いました♪きっとお仕事を任されてもご満足出来るサイトが必ず待ってると思います♪^^
レスポンシブWebデザインの理解
- メリット
- デメリット
- サイトが重くなる可能性がある
- 開発に時間がかかる可能性がある
- 表示の最適化であって、デバイス(利用シーン)の最適化ではない
- レスポンシブデザインに向いているサイト
- 文字ベースのサイト
- 構造の簡単なサイト
- レスポンシブデザインに向いていないサイト
- 各ページによって表示を変えたいなど構造が複雑なサイト
- 利用シーンによって見せ方を大きく変えたいサイト
- モバイルファーストの考え方
- モバイルから先に制作し、その後PCに展開する(実際は難しい)
- 画面が小さくなるので見せたいものが何かはっきりする(優先順位)
- レイアウトの切り替えパターンを知っておく
- ワイヤーフレームが非常に重要
- モバイルファーストでありコンテンツファースト(内容ありき)である事が重要
大事なのは考え方。なにを優先的に見せるか - 出来るだけ%やemなでど可変で組む(難しければpx)
ワークフローの提案
- PC用のデザインをPSDデータ、
タブレット・スマートフォンはワイヤーフレームで確認してもらう
(スマホやタブレットは画面サイズだけでなく、機種ごとに差異があるため反映が難しい為) - 基本の設計をしてしっかりしてワイヤーフレームをきっちり書く
(デザイナー・マークアップエンジニアが参加する事が大切)
レスポンシブWebデザインの実装
- PC、タブレット、スマホのブレークポイントを決める
- メディアクエリー(Media Queries)を利用
- モバイルのCSSから書くのがオススメ(結果的にソースが短くなる)
- style.cssの方がやりやすい(特にWordPress)
- viewportを設定
- viewportの幅をデバイスのスクリーンの幅に合わせる
<meta name="viewport" content="width=device-width">
- 一般的に多い設定
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0">
表示幅をスクリーン幅と一致,初期拡大率を等倍,最小拡大率を等倍,最大拡大率を等倍 - 実際使った設定
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.6, user-scalable=yes,">
最大拡大率を1.6にして、ユーザーが画面を拡大できるようにした
- viewportの幅をデバイスのスクリーンの幅に合わせる
- IE8以下への対応
- JavaScriptを使う(動作どちらも問題なし)
- Respond.js
https://github.com/scottjehl/Respond - css3-mediaqueries-js
css3-mediaqueries.js - 実際あったトラブル
他のJavaScriptライブラリも利用している場合に動かない症状が出たが、今回のJSライブラリを一番最後に持って行く事で解決した
- Respond.js
- JavaScriptを使う(動作どちらも問題なし)
- 解像度によって画像が荒くなる問題
画面サイズに合わせて画像を切替える。CSSで呼び出している画像の場合、メディアクエリーで切り替えて呼び出す画像を変える事が可能 → 但し画像が各サイズ必要
- JavaScriptを使う
- Responsive-Images
http://filamentgroup.com/lab/responsive_images_experimenting_with_context_aware_image_sizing/ - Responsive-Enhance
https://github.com/joshje/Responsive-Enhance
- Responsive-Images
- JavaScriptを使う
- 画像が重たいという問題
- CSS Sprite
- 1枚の画像の中に必要な画像を全部入れ必要に応じて 表示させる部分を変える手法
- 1枚画像を最初に読み込む事によって余分なトラフィックが かかるのを防ぐ
- データURIスキーム
- HTMLやCSSに埋め込まれたデータに直接アクセスする サーバーにリクエストせずに画像を表示することができる
.mainbg { background-image:url(data:image/png;base64,iVBORw0KGgoAAAA... etc ); }
- Data-URI-Convertor
http://websemantics.co.uk/online_tools/image_to_data_uri_convertor/
- HTMLやCSSに埋め込まれたデータに直接アクセスする サーバーにリクエストせずに画像を表示することができる
- CSS Sprite
- WordPressの場合ユーザーが画像を更新して行くので、その画像に対しても設定が必要
@media only screen and (max-width: 480px) { .cpost img { max-width: 300px; width: auto; height: auto; } }
※ classを設定しないと全部の画像に反映されるので注意 - 解像度によってフォントの大きさの変更が必要な場合
ウェブフォントで対応- CSS3 @font-face
- 日本語フォントが少ない
- Windowsで読みにくい
- 日本語フォント重い(タイトルのみなどにしておく)
便利ツール
- Framework(Twitter Bootstrap)
http://twitter.github.com/bootstrap/index.html - Framework(Zurb Foundation)
http://foundation.zurb.com/ - モックアップ用(Responsive Design Mock-up Pack)
http://medialoot.com/item/free-responsive-screen-mockup-pack/ - ギャラリーサイト(国内)
http://responsive-jp.com/
出来る限り日本の実例を見ること!Webフォントなど英語サイトで良くても日本語サイトにするとうまくいかない事がある - ギャラリーサイト(海外)
http://mediaqueri.es/ - Responsive.is
http://responsive.is - Responsive Design Bookmarklet
http://responsive.victorcoulon.fr/ - Viewport resizer
http://lab.maltewassermann.com/viewport-resizer/
ウェブページの表示サイズをデスクトップやスマフォ・タブレット用に変えてレスポンシブの確認をするツール