新しいCSSビューポート単位: `svh`, `lvh`, `dvh`
(ishadeed.com)- ビューポートの幅/高さを基準に設定するのは便利だが、
vhにはモバイルで多くのバグがある
→ ビューポートサイズにブラウザのアドレスバーUIが含まれていないため 100vhはモバイルでビューポート全体の高さになるべきだが、スクロール時にUIを隠すSafari/Chrome(Android)では問題が発生する- そのためCSSワーキンググループが新しい単位
svh,lvh,dvhを導入svhSmall Viewport : アドレスバーUIが縮小されていない状態のビューポート高さlvhLarge Viewport : アドレスバーUIが縮小された状態のビューポート高さdvhDynamic Viewport :svh/lvhの間で動的に変化
100dvhを使うと、最下部にあるボタンが常に表示されるように設定できる- ただしパフォーマンス上の問題が生じる可能性があるため注意が必要
4件のコメント
おお! Firefox for Androidで
position:fixed, bottom: 0にするとひどいくらいおかしな動作をすることがあったので、これで解決するのか確認してみないとですね。https://caniuse.com/viewport-unit-variants
iOSは15.4から、Androidは114からサポートされているようです
Viewport Unitが多すぎて、だんだん混乱してきますね
本来はブラウザが責任を負うべき問題なのに、標準化グループが責任を負うという皮肉…