Safari Web Content Guide for iPhoneを読み解く
iPhone向けWebアプリを作ろう
ソシオメディア株式会社
上野学
2008/5/29
続 ・ Safari Web Content Guide for iPhone
- - PR -
■ ビューポートの設定
iPhone版Safariの独自仕様を理解するうえで一番混乱しやすいのが、ビューポートの振る舞いです。ビューポートとは、コンテンツが表示される領域のことです。デスクトップのWebブラウザでは、コンテンツの横幅が大きくてウィンドウ内に表示し切れない場合、ユーザーはウィンドウの枠をドラッグして広げる(あるいは最大化する)ことができます。
しかし、ビューポートの物理サイズは固定されているので、コンテンツの方を縮小/拡大することで、一度に表示する内容量を調節することになります。
・ ビューポートのデフォルト幅
iPhoneのスクリーン解像度は、ポートレート表示(縦位置)の場合、横320px、縦480pxです。デバイスを回転させてランドスケープ表示(横位置)にすれば、縦320px、横480pxになります。
そのうち、ステータスバー、URLテキストフィールド、ボタンバーといった要素を省いた残りの領域がビューポートになり、ポートレート表示では、横320px、縦356pxとなります。
![]() |
| 画面4 ビューポートのサイズは320×356ピクセル |
つまりiPhone版Safariに最適化Webアプリケーションを作りたければ、横320px、縦356pxでちょうど収まるようなデザインにすればよいのです。これが一番確実な方法で、例えばビルトインされているウィジェット(「計算機」や「天気」など)はこのサイズぴったりに作られています。
しかしiPhone版Safariは、Webページを表示するとき、デフォルトで縮小表示を行います。具体的には、横幅を980pxとして表示します。これは、一般的なWebサイトの横幅が入り切るサイズとして設定されたスケールです。つまりビューポートのデフォルト設定は、(ポートレート表示の場合)横幅980pxということになります。
![]() |
| 画面5 デフォルトでは横幅980pxで表示される |
・ ビューポートメタタグ
ビューポートの設定(ページの読み込み時にどのような拡大率でコンテンツを表示するか)は、ビューポートメタタグによって開発者が任意に指定することができます。ビューポートメタタグは次のような書式となり、HTMLのそのほかのmeta 要素と同様にhead要素内に記述します。
<meta name = "viewport" content = "width = 700"> |
この例の場合、Webページが読み込まれたときに、横幅700pxのページがぴったり収まる拡大率で表示されることになります。
![]() |
| 画面6 横幅700pxのページを表示すると、デフォルトで余白ができる |
![]() |
| 画面7 ビューポート幅を700pxに指定すればぴったり表示される。 |
もし、iPhoneの解像度に合わせて横幅320pxのWebページを作ったとしても、ビューポートのデフォルト幅は980pxですから、そのままだと縮小表示されてしまいます。ですから、正しく表示させるためには、ビューポートメタタグで横幅を320pxに指定しなければいけません。
その際、iPhone 1.1.1 以降では「device-width」という値が指定可能になっており、これを指定すれば自動的に320px(そして将来登場するデバイスの横幅)と同等の設定になります。
<meta name = "viewport" content = "width = device-width"> |
![]() |
| 画面8 「device-width」と設定してもぴったり表示される |
・ リキッドレイアウトとビューポート設定
リキッドレイアウト(コンテンツを包含するブロック要素の幅を%で指定したレイアウト)の場合、インライン要素は、ビューポートメタタグで指定した横幅内で折り返そうとします。例えばビューポートの幅を600pxに指定した場合、デスクトップ版のWebブラウザでウィンドウ幅を600pxにしたのと同様の表示になります。
![]() |
| 画面9 横幅:100%。ビューポート幅:デフォルト(980px) |
![]() |
| 画面10 横幅:100%。ビューポート幅:600px |
![]() |
| 画面11 横幅:100%。ビューポート幅:device-width(320px相当) |
・ そのほかの設定項目
ビューポートメタタグでは、横幅(width)以外の値も設定できます。height(高さ)や initial-scale(初期表示時の拡大率)などです。これらの内1つでも設定すれば、それに応じてWebブラウザが自動的にほかの値を計算してコンテンツを表示します。
| 3/4 |
| INDEX | ||
| iPhone向けWebアプリを作ろう | ||
| Page1 Safari Web Content Guide for iPhoneを読み解く iPhoneへの最適化とは、UIを最適化すること iPhone Human Interface Guidelines |
||
| Page2 Safari Web Content Guide for iPhone ・ Web標準に対応 ・ 未対応の技術 ・ Webブラウザ判定 ・ フレームは避ける ・ 段組みやブロックを活用する ・ リソースの制約 |
||
| Page3 ・ ビューポートの設定 ・ メタタグ/リキッドレイアウトとビューポート設定 |
||
| Page4 ・ スタイルシート ・ iPhone内のほかの機能を呼び出すリンク デバッグ |
||
| リッチクライアント&帳票 全記事一覧へ |
ホワイトペーパー(TechTargetジャパン)
- 画像を美しく魅せる効果を加えるjQueryプラグイン3選 (2010/3/17)
2つ重ねて比較するBefore/After、部分ごとに切り替えるpanelGallery、ズーム/カーテンなどができるcycle - 現場の無駄な流血を止めるための「プロトタイプ」とは (2010/3/12)
サイトやWebアプリ/RIAの設計やデザインを効率良く進めるには、プロジェクト関係者の想定を一致させていくことが大事だが… - Flashを閃光のごとく高速化するための基礎知識 (2010/3/9)
Flash高速化のための基礎知識や実践的テクニックを紹介する連載。初回は“処理負荷”を調べる具体的な方法を解説します - Windows 7でどんだけ“おばか”なアプリが作れるの? (2010/3/4)
おばかの発想の源やアプリの作り方などについて、おばかアプリ選手権の歴戦の受賞者や、マイクロソフトの代表者に話を伺った。アイデアのご参考に
|
|
スキルアップ/キャリアアップ(JOB@IT)
スポンサーからのお知らせ
| 「いつかは壊れるサーバ」そんな故障に 迅速で安価に手軽に対応する方法とは? New! |
| 「特権ユーザー」の事件を防げ! 万能権限を持つユーザーの管理方法とは? New! |
| 仮想環境の構築とデータ保護の特効薬?! 実績と信頼性の高いパッケージで安心運用 |
| 仮想環境のバックアップもこれまでどおり 「まるごと取ってまるごと戻す」簡単運用 |
| おばかアプリ選手権、第4弾開催中!! ムダにカッコよくてくだらない作品求ム! |
| 社内ファイルサーバを“クラウド”に統合 VPN直結「クラウド型ストレージ」を紹介 |
| その数、なんと400台以上! グループ内 サーバの「統合管理」によるメリットは? |
| 美人!? まあまあ? 気になる いやし系!! PV急増で「美人時計」がとった手段とは? |
| 進化を続ける富士通ストレージETERNUS DX 製品開発者の自信を裏付けるものとは何か |
| 運用管理の課題を“2つの観点”から分析 ユーザー満足度の高い「仮想環境」とは? |
お勧め求人情報

**先週の人気講座ランキング**
〜CCNA編〜
| ◆ | TomcatやJBossなどAPサーバ環境に関する 情報を集約! “業務”用APサーバ大百科 New! |
| ◆ | 一気に解説! 最新のクラスタストレージ 「RAIDを超えたストレージ基準」……など New! |
| ◆ | クラウド的ユーザー体験の変化は脅威か? 仮想化技術を使いこなす運用管理術を紹介 New! |

| ◆ | 上司や部下、部署内メンバーとの情報共有 を“ガラッ”と変えるコラボツールとは? New! |
| ◆ | おばかアプリ選手権、第4弾開催中!! ムダにカッコよくてくだらない作品求ム! |
| ◆ | 社内ファイルサーバを“クラウド”に統合 VPN直結「クラウド型ストレージ」を紹介 |

| ◆ | Twitterのアカウントはなぜ突破された? メールによる新手の攻撃手法とその対策 |
| ◆ | もう仮想化のお試しフェイズは終わりだ! Hyper-V 2.0が基幹システムも仮想化 |
| ◆ | 美人!? まあまあ? 気になる いやし系!! PV急増で「美人時計」がとった手段とは? |

| ◆ | クライアント企業から求められる人材 ⇒IT技術と経営戦略を併せ持つ「戦略家」 |
| ◆ | .NET編集長が実践する「技術情報検索術」 サンプル・コードを簡単に探す“技”は? |
| ◆ | 業務効率と情報セキュリティ対策を両立! 手間なく確実に機密情報を守る方法とは? |

| ◆ | 進化を続ける富士通ストレージETERNUS DX 製品開発者の自信を裏付けるものとは何か |
| ◆ | 運用管理の課題を“2つの観点”から分析 ユーザー満足度の高い「仮想環境」とは? |

| ◆ | 【CTC事例】約30の基幹システムを統合! 膨大なバッジジョブを制御した方法は? |
| ◆ | 仮想化すればコストは削減できるか? 仮想化に必要な「3つの視点」を解説する |
| ◆ | その数、なんと400台以上! グループ内 サーバの「統合管理」によるメリットは? |














