viewportの物理幅を意識する

<meta name="viewport" content="width=***, initial-scale=**">

このwidthはなんの幅を指定しているのでしょうか?

htmlはviewportをキャンバスとしてレンダリングされます。 レンダリング時のviewportは仮想ウインドウで物理的な幅はありません。 タグに指定するwidthはこのキャンバスの論理幅です。 スマホの物理窓を通して覗くとき、viewportには物理的な幅が必要になります。 表示時、viewportは拡大縮小ができて、その物理幅を決めるのがscaleになります。

  • viewport論理幅=width
  • viewport物理幅=width*scale
  • scaleを省略した場合、scale=デバイス幅/width
  • scaleを省略して、width=デバイス幅を指定したとき、scale=1

viewport物理幅がデバイス幅より大きいとページ表示ははみ出し、小さいと余白ができます。 私の場合は、この物理的幅と論理的幅を混同して混乱したようです。 イメージできてしまえばなんてことないですが、一度混乱するとなかなか抜け出せないもので、存外時間がかかってしまいました;

登録:2024-11-12 00:32
更新:2024-11-12 00:39
by nasu38yen
Copyright (C) 2014 Stadio Peace All Rights Reserved.