ホームページ >ウェブフロントエンド >htmlチュートリアル >モバイル Web 開発用のビューポート viewport_html/css_WEB-ITnose
× カタログ [1] レイアウト ビューポート [2] ビジュアル ビューポート [3] 理想的なビューポート [4] メタ タグ [5] 概要
CSS 標準ドキュメントでは、ビューポートと呼ばれるのは、最初に含まれるブロック。この最初の包含ブロックは、すべての CSS パーセンテージ幅計算のソースとなり、CSS レイアウトの最大幅を制限します。デスクトップでは、ビューポートの幅はブラウザ ウィンドウの幅と同じです。モバイル側では、ビューポートはレイアウト ビューポート、ビジュアル ビューポート、理想的なビューポートに分割されます
モバイル デバイスの問題は、ビューポートをブラウザ ウィンドウと同じ幅にすることで、見た目が醜くなる可能性があることです。結果。通常、モバイル ブラウザの幅は 240 ~ 640 ピクセルで、デスクトップ用に設計されたほとんどの Web サイトの幅は少なくとも 800 ピクセルです。したがって、ウェブサイトのコンテンツは携帯電話では非常に狭く見えます
//下の写真は携帯電話での Sina の表示状態です。ズーム操作を行わないと、文字はほとんどはっきりと見ることができません
。携帯電話では、ビューポートはモバイルブラウザの画面幅に縛られなくなり、完全に独立しました。私たちはそれをレイアウト ビューポートと呼びます - CSS レイアウトはそれに基づいて計算され、それに基づいて制約されます
デスクトップ ブラウザ向けに設計された Web サイトに対応するために、モバイル デバイスのデフォルトのレイアウト ビューポートの幅は画面の幅よりもはるかに大きくなります、設定は 980px または 1024px (他の値でも構いません。これはデバイス自体によって決定されます) ですが、ブラウザーの表示領域の幅がブラウザーの表示領域の幅より大きいため、結果としてブラウザーに水平スクロール バーが表示されます。デフォルトのビューポートの幅は小さくしてください。次の図は、一部のデバイス上のブラウザのデフォルトのビューポート幅を示しています
document.documentElement.clientWidth/Height は、レイアウト ビューポートのサイズを返します
独立したレイアウト ビューポートの作成は非常に役立ちましたが、デスクトップ Web サイトの携帯電話への移行は重要ですが、モバイル デバイスの画面サイズを完全に無視することはできません。一部の CSS 宣言は、CSS の最初の包含ブロックではなく、ユーザーに表示される内容に関連しています。また、Web 開発者にとって、ユーザーが Web サイトのどの部分を見ているのかを知ることが役立つ場合があります
ビジュアルビューポートは、ユーザーが見ている Web サイトの領域であり、そのための JavaScript プロパティは window.innerWidth/ です。高さ
[注意] Android webkit2とプロキシブラウザの間には互換性の問題があります
スケーリングはビジュアルビューポートのサイズに影響します。ズーム レベルが 100% の場合、ビジュアル ビューポートはデバイスの画面と同じ幅になります。ズームインすると、画面上に表示される CSS ピクセルが少なくなるため、ビジュアル ビューポートが小さくなります。一方、ズームアウトすると、画面上に表示される CSS ピクセルが増えるため、ビジュアル ビューポートが大きくなります。したがって、ズームの程度とビジュアル ビューポートのサイズは反比例の関係にあります。iPhone 5 を例に挙げると、ブラウザ レイアウト ビューポートのデフォルトの幅は 1024 ピクセルであり、画面の幅は小さくなります。デバイス ピクセルは 640 ピクセルのみです。DPR は 2 なので、CSS ピクセルは 320 ピクセルです。ここで、ユーザーは 100% から 200% にズームインし、画面上の CSS ピクセルが 160 個だけになるまで CSS ピクセルが拡大されます。ただし、レイアウト ビューポートは 1024 ピクセルのままであるため、ページ上の要素のサイズは変わりません。
[注意] ユーザーがズームすると、ビジュアルビューポートのサイズのみが変化し、レイアウトビューポートは変化しません。モバイルのスケーリングによって CSS レイアウトが再計算されることはありません。携帯電話ではズームが頻繁に発生し、携帯電話のプロセッサの動作が非常に遅く、バッテリーの消耗が激しいため、再レイアウトしない方がパフォーマンスに大きなメリットがあります
//次のコードは、3 秒後にページが 100% から 200% にズームされることを示しています%
<script>test.innerHTML = '屏幕宽度:' + screen.width + '<br>视觉视口:' + window.innerWidth;setTimeout(function(){ var meta = document.getElementsByTagName('meta')[1]; meta.setAttribute('content','initial-scale=2'); test.innerHTML = '屏幕宽度:' + screen.width + '<br>视觉视口:' + window.innerWidth;},3000);</script>
理想的なビューポート
つまり、レイアウトビューポートのデフォルトの幅は理想的な幅ではありません。 Apple や Apple に倣う他のブラウザ メーカーが理想的なビューポートを導入しているのはこのためです。デバイスに最適なレイアウト ビューポート サイズです。理想的なビューポートで表示される Web サイトは、閲覧や読書に最適な幅を持ち、ユーザーは最初にページにアクセスするときにズームする必要がなくなりました