iOS Safari で 100vh を指定してもはみ出てしまう

iOS の Safari は、スクロールに応じてアドレスバーが伸縮します。一方、100vh は常にアドレスバーが縮んだ状態のビューポートの高さとなるため、アドレスバーが表示されている場合は UI が画面からはみ出してしまう問題が発生していました。

 

これは、新たに dvh、svh、lvh というビューポート単位が導入されたことにより解決されています。

これらの単位は、現在はすべてのモダンブラウザに実装されていますが、古いブラウザでは動作しないことに注意してください。

 

vh を同時に記載することで、フォールバックを指定することができます。

 

body {
height: 100vh; /* dvh 未対応ブラウザ向け */
height: 100dvh;
}

 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です