iPhone 15: viewport, resolução e safe areas

No iPhone 15, o viewport é de 393×852 pixels CSS em retrato (852×393 deitado), com densidade de pixels (DPR) 3 e resolução física de 1179×2556.

Retrato
393×852
Deitado
852×393
DPR
3
Física
1179×2556
iPhone 15 no Breakpane em modo App, com o Lume aberto e as cotas do viewport
Captura do Breakpane em modo App (PWA instalado). As cotas mostram o viewport que a página mediu dentro do aparelho; as barras do sistema que ficam reservadas não entram na conta.

Medidas

Medidas do iPhone 15 em pixels CSS
Viewport em retrato393×852
Viewport deitado852×393
Densidade de pixels (DPR)3
Resolução física1179×2556
Barra de status (safe area superior)59 px
Indicador de início (safe area inferior)34 px
Safe areas laterais, deitado59 px
Safe area inferior, deitado21 px
Safari: área ocupada em cima59 px
Safari: área ocupada embaixo94 px
Viewport visível no Safari, retrato393×699
SistemaiOS
Observaçãomesma tela do iPhone 16, sem o Controle da Câmera

CSS para o iPhone 15

Media query pela largura

Ponto de quebra se escreve em pixels CSS, nunca na resolução física.

/* iPhone 15: 393 px CSS em retrato, 852 deitado */
@media (max-width: 393px) {
  /* … */
}

/* telas com DPR 3 ou mais */
@media (min-resolution: 3dppx) {
  /* imagens em 3x */
}

Safe areas com env()

Com viewport-fit=cover, a página vai até a borda e o sistema entrega as safe areas por env(). No app instalado, o topo só vira inset com a barra de status black-translucent; no Safari, as barras do navegador cobrem essas faixas.

<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">

/* iPhone 15, retrato: 59 px em cima e 34 px embaixo */
.topo { padding-top: env(safe-area-inset-top); }
.barra-inferior { padding-bottom: env(safe-area-inset-bottom); }

/* deitado: 59 px nas laterais e 21 px embaixo */
.pagina {
  padding-left: max(16px, env(safe-area-inset-left));
  padding-right: max(16px, env(safe-area-inset-right));
}

Como o Breakpane simula o iPhone 15

O Breakpane não roda iOS. É um Chromium com o viewport (393×852), a densidade (3), o user agent, o toque, as safe areas e o display-mode do iPhone 15, dentro de uma moldura com as medidas reais, flutuando na frente do editor com o seu dev server ao vivo.

Serve para layout, safe areas e o PWA instalado. Bugs de renderização ou de API do WebKit só aparecem num aparelho de verdade ou no Simulador do Xcode.

Outros aparelhos: iPhone

Todos os aparelhos

Medidas do catálogo do Breakpane, conferidas em fontes públicas (a lista de aparelhos do Chrome DevTools, useyourloaf.com, deviceatlas.com, yesviz.com, webmobilefirst.com e 1440px.com) entre 2 de out. de 2026 e 5 de out. de 2026.