実際にiPhone向けのサイトを作成してみます。
ここでは、デフォルトのブックマークであるAppleのiPhone用オンラインヘルプページ「iPhone User Guide」を取り上げます。
実際のiPhone User GuideはプレーンHTMLではなくJavascriptで生成され、かなり深い入れ子構造になっていますが、 今回はこのページの特徴の一部を取り上げて再現してみます。
取り上げる特徴は
です。その他、PC/iPhone問わずSafariで使用可能なWebkitオプションにより、
の2点を加えた全5点に着目します。
上記のようにほぼ再現することが出来ました。(実際のページはこちら)ソースは以下です。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>TEST</title> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <meta name="viewport" content="width=320px, user-scalable=no"> viewportの宣言 <style type="text/css"> body { margin: 0; padding: 0; background: url(../photo/apple4.gif); } h1 { width: 320px; コンテンツ幅を320pxにする margin: 0 auto; padding: 12px 0; background: url(../photo/apple3.gif) repeat-x; color: #fff; text-shadow: #333 0px -1px 0px; テキストに影をつける font-size: 120%; text-align: center; } ul { width: 300px; margin: 10px auto 0; padding: 0; background-color: #fff; border: 1px solid #999; -webkit-border-radius: 10px; 要素を角丸にする list-style: none; } ul li { margin: 0; padding: 0; background: url(../photo/apple1.gif) no-repeat 285px center; } ul a { display: block; padding: 12px; border-bottom: 1px solid #999; background: url(../photo/apple2.gif) no-repeat 245px center; text-decoration: none; color: #000; font-weight: bold; font-size: 110%; } ul a.noborder { border-bottom: none; } div { width: 320px; コンテンツ幅を320pxにする margin: 20px auto; padding: 0; font-size: 60%; text-align: center; color: #666; } </style> </head> <body onLoad="window.setTimeout('window.scrollTo(0, 1)', 500);"> URLバーを隠す <h1>iPhone ユーザーガイド</h1> <ul> <li><a href="#">お使いになる前に</a></li> <li><a href="#">基本</a></li> <li><a href="#">電話</a></li> <li><a href="#">メール</a></li> <li><a href="#">Safari</a></li> <li><a href="#">iPod</a></li> <li><a href="#">その他のアプリケーション</a></li> <li><a href="#">設定</a></li> <li><a href="#">iTunes Store</a></li> <li><a href="#">トラブルシューティング</a></li> <li><a href="#" class="noborder">その他の参考資料</a></li> </ul> <div>Trademark and © 2008 Apple Inc.l All rights reserved.</div> </body> </html>
ポイントは以下です。
<meta name="viewport" content="width=320px, user-scalable=no">
<meta name="viewport" content="minimum-scale=1.0, width=device-width, maximum-scale=1.6, user-scalable=no">です。
onload="window.setTimeout('window.scrollTo(0, 1)', 500);"