Widely available YES。主要ブラウザで広く対応済み。本番利用を推奨。

概要

safe-area-inset-top/right/bottom/leftは、iPhoneのノッチやカメラホール付きディスプレイなどの非矩形画面において、コンテンツが切れない安全な表示領域を示すCSS環境変数です。env()関数を通じてアクセスし、主にviewport-fit=coverと組み合わせて使用します。モバイルWebアプリやPWAのフルスクリーン表示で、画面端のコンテンツが隠れないよう保護する際に不可欠です。

対応ブラウザ

デスクトップ

Chrome 69+
Edge 79+
Safari 11.1+
Firefox 65+

モバイル

Chrome Android 69+
Safari iOS 11.3+
Firefox Android 65+

基本構文

CSS
body {
  padding-top: env(safe-area-inset-top);
  padding-bottom: env(safe-area-inset-bottom);
  padding-left: env(safe-area-inset-left);
  padding-right: env(safe-area-inset-right);
}

実務での使いどころ

  • ノッチ付きデバイスへの対応

    iPhoneのノッチやDynamic Islandでコンテンツが隠れないよう、安全領域に基づいたパディングを設定します。

注意点

  • env(safe-area-inset-*)はviewport metaタグにviewport-fit=coverを指定しないと常に0を返します。

アクセシビリティ

  • 安全領域の確保により、操作可能な要素がデバイスの物理的な障害物に隠れず、すべてのユーザーがタッチ操作できるようになります。