スマホサイトの作り方関連のブログとかを見てて、viewport周りの基本的な設定は書かれているのですが、
個人的に重要だと思うポイントが、なかなかどなたも書いてらっしゃらないような気がするので、まとめてみました。
それは、
とにかく内側のHTML要素をハミ出さないように作る
どうしてか?
ふつうは、スマホサイトというのは縦スクロールしかさせたくないですよね。
例えば、iPhoneで言うPortrait(縦)表示のとき、横幅320pxを超えたページ構成になると、
おかしな横スクロールが発生してしまいます。
viewportで拡大とかの禁止をおこなっていても、そうなります。
(まぁ、拡大とは意味が違うので当然なのですが。。。)
具体的にどういうことをしておいた方が良いかというと、
★とりあえずページのラッピング要素はoverflow:hiddenにする
HTMLレイアウトを組む大抵の場合、
<body> <div id="contents"> ~コンテンツ~ </div> </body>
といった具合で、全体を囲む要素を作ると思うのですが、これを
div#contents{ overflow:hidden; … }
としておくのが良さそうです。
こうすることで、この内側の要素の横幅がオーバーしても、全体よりハミ出ることが無くなるので、
おかしな横スクロールを防ぐことができます。
ただし
上記はiPhoneの場合は、ほぼこれで防げるのですが、Androidの場合は完全じゃありません。
hidden指定してるにも関わらず、内側の要素の横幅が広かったりするとラッピング要素の横幅まで押し広げてしまいます。
なので、とにかく
★可能な限りリキッドレイアウト
★おかしな横スクロールをする場合は、内側の要素の横幅を調べ、親要素を上回らないようにする。
というのを守ればよいと思います。
てか、リキッドレイアウトで組んでれば、ハミ出ることなんてないじゃん。と言われそうですが、
スマホサイトの場合、「PCサイトをUA判定などで、スマホ用にCSSと画像を振り分ける」というサイトを作られる方も多いと思います。
そういう場合、なかなかリキッドレイアウトに作り変えれなかったりするためです。
※はてなダイアリーで初めて書いてみました。読みづらかったらすみません。
HTML5+CSS3で作る 魅せるiPhoneサイト iPhone/iPad/iPod touch対応
- 作者: 谷拓樹
- 出版社/メーカー: ラトルズ
- 発売日: 2010/11/24
- メディア: 単行本(ソフトカバー)
- 購入: 4人 クリック: 478回
- この商品を含むブログ (9件) を見る
- 作者: 白石俊平,株式会社あゆた
- 出版社/メーカー: 日経BP社
- 発売日: 2010/02/25
- メディア: 単行本(ソフトカバー)
- 購入: 12人 クリック: 542回
- この商品を含むブログ (50件) を見る
他の人気エントリ
- デザイナーさん・イラストレーターさんを募集しています
- Unityが使える方を探しています
- Flash終了でアプリは消えないと思うよ?
- ノルウェー絵本「KUBBE(キュッパ)」映像化の音楽を作りました
- スマートフォンサイトにフリック・スワイプ実装できるjQueryスライダプラグイン
新着エントリ
-
http://d.hatena.ne.jp/izit_kosuke/ izit_kosuke
-
http://d.hatena.ne.jp/fmaction/ fmaction