Web サイトの body 要素のサイズを利用可能な画面のサイズに設定する方法を見つけようとしています。デスクトップ ブラウザーでは簡単ですwidth=height=100%
が、モバイル デバイスではそれほど単純ではありません。
多くのデバイスは、最適な読みやすい縮尺でページを表示しようとするいくつかの初期ズーム設定にデフォルト設定されています。<head>
Android の場合、次の-tagを使用してこれをオフにできます。
<meta name="viewport" content="width=device-width, height=device-height, target-densitydpi=high-dpi, initial-scale=1.0>
これで、ボディの幅の設定が期待どおりに機能するようになりました (Android の場合)。高さはまったく別の問題です。ブラウザは、アドレス バーの現在の位置に基づいて 100% の意味を設定するからです。そのため、ページが最初に表示されるよりも長く、スクロールされてアドレス バーが画面外に出た場合、高さを 100% に設定すると望ましい効果が得られます。しかし、ユーザーがページを下に移動してアドレス バーを表示するとすぐに、高さが更新され、逆方向にスクロールできなくなります。
したがって、モバイル デバイスの場合、ボディの高さを正しく設定する唯一の方法は、100% ではなくピクセル サイズに設定することです。しかし、利用可能なさまざまなサイズの尺度 (screen.height、window.outerheight など) に関するこの記事を読むと、デバイス間で動作させることに身震いがします。
したがって、私の質問:
モバイル デバイスで body 要素のサイズを設定するための信頼できるベスト プラクティスの方法はありますか? 追加のクレジット: ユーザーがページをズームインできる (ズームアウトできない) ように、これを行うことはできますか?
JavaScript か CSS、またはその両方を使用するソリューションは、私には完全に受け入れられますが、少なくともデスクトップ (IE6+、Opera、Chrome、Firefox、Safari) とモバイル デバイス (電話、タブレット) で、できるだけ多くのデバイスで動作するはずです。 、Android、iOS、Windows Mobile)。