https://zenn.dev/jackmiwamiwa/articles/ios-bottom-fixed
ios15でアドレスバーを「シングルタブ」に変更して、下固定のボタンをクリックするとボタンが反応しないでsafariのメニューボタンが出てきてしまうため、その時に対応したことになります。(状態については下の画像のような状態です。)
今回、検証用として制作したものは以下になります。
viewport-fit=cover
を追加デフォルトだとviewport-fit=auto
のため、ページの全部分に対応させたい場合はviewport-fit=cover
に変更することでページの端から端まで表示されるようになります。
<meta name='viewport' content='initial-scale=1, viewport-fit=cover'>
safe-area
の追加iOS11からsafe-area-inset-{top | right | bottom | left}
の値が追加されたため、以下の追加
44px
の追加2-1
の方法のみだと以下のような状態でクリックできるエリアがほとんどないため、padding-bottom: 44px
を追加
(黒線とsafariのナビメニューの間の1pxくらいがクリックできる場所です。)
変更後はこのようなイメージになります。
2-2
までの対応の場合、safari以外のブラウザだと以下の問題・状態になってしまうため、safariのみに適応できるようにする。
env(safe-area-inset-bottom)
の値は0だが、44px
の固定分が追加されてしまうため、無駄な余白が発生する