Calcolatore Viewport & Risoluzione

Viewport Attuale
0 x 0
px

Breakpoint Attivi

Tailwind
< sm
sm
md
lg
xl
2xl
Scale: 0 - 2000px

Schermo Fisico

Dimensioni0 x 0
Pixel Ratio (DPR)1.00
Orientamentounknown
TouchNo

Browser & OS

Browser
OS / Platform
User Agent
Reading...

Preferences

Color SchemeLight
Framework Breakpoints Reference
sm (TW) 640px
md (TW) 768px
lg (TW) 1024px
xl (TW) 1280px
Pubblicità

Cos'è la Viewport?

La viewport è l'area visibile di una pagina web. Non coincide sempre con la dimensione dello schermo: su desktop è la finestra del browser, su mobile è più complessa.

Il tag <meta name="viewport" ...> è essenziale per dire ai browser mobili come ridimensionare e scalare il contenuto, garantendo un'esperienza responsive ottimale.

Pixel Fisici vs CSS (DPR)

I moderni schermi (Retina, AMOLED) hanno una densità di pixel molto alta. Il Device Pixel Ratio (DPR) indica quanti pixel fisici formano un pixel CSS.

Se il tuo DPR è 2.0, significa che uno schermo largo 390px (CSS) ha in realtà una larghezza fisica di 780px. Questo influenza la scelta delle immagini responsive (srcset).

Breakpoint e Responsive Design

I breakpoint sono i punti di interruzione in cui il layout del sito cambia per adattarsi alla larghezza disponibile. Framework come Tailwind CSS e Bootstrap usano approcci standard:

  • Mobile First (es. Tailwind): Si parte dallo stile per schermi piccoli (base) e si aggiungono regole per schermi più grandi (sm, md, lg).
  • Desktop First: Si parte dal desktop e si adatta per schermi più piccoli (meno comune oggi).

Usa questo tool per verificare quale breakpoint è attivo sul tuo device e testare le media queries CSS in tempo reale.

Approfondimenti

Storia del Responsive Design

Il viewport meta tag fu introdotto da Apple nel 2007 con il primo iPhone per permettere ai siti desktop di adattarsi agli schermi mobili. Prima, i siti venivano renderizzati a 980px e zoomati, rendendo i testi illeggibili.

Nel 2010, Ethan Marcotte coniò il termine "Responsive Web Design" nel suo articolo seminale su A List Apart, introducendo i concetti di fluid grids, flexible images e media queries CSS. Questo rivoluzionò lo sviluppo web.

Le CSS Media Queries divennero uno standard W3C nel 2012 (CSS3), permettendo di applicare stili condizionali basati su larghezza, altezza, orientamento e DPR del dispositivo. Oggi il 94% dei siti globali usa media queries.

Il movimento Mobile First (2011) invertì l'approccio: progettare prima per schermi piccoli, progressivamente migliorare per desktop. Framework come Bootstrap (2011) e Tailwind CSS (2017) adottarono questo paradigma come default.

Quando Usare Questo Tool

Testing Responsive Design: Verifica in tempo reale quale breakpoint è attivo mentre ridimensioni il browser. Utile per debuggare layout CSS che si comportano diversamente su dispositivi reali vs Chrome DevTools.

Debugging Media Queries: Se una media query non si attiva come previsto, confronta la viewport width riportata da questo tool con i tuoi breakpoint CSS. Potresti aver dimenticato il viewport meta tag o avere conflitti di specificità CSS.

Ottimizzazione Immagini (srcset): Conoscendo DPR e viewport width, puoi calcolare la risoluzione ideale delle immagini. Esempio: viewport 375px, DPR 3 (iPhone) → serve immagine da 1125px fisica per evitare sfocatura.

PWA e Viewport Settings: Quando sviluppi Progressive Web Apps, devi configurare il manifest.json con display modes (standalone, fullscreen). Questo tool mostra la viewport effettiva in modalità PWA installata.

Limiti Emulazione Mobile: DevTools Chrome simula viewport ma non sempre DPR/orientamento correttamente. Testa sempre su device reali o con questo tool su smartphone fisico.

CSS Pixels vs Device Pixels

CSS Pixel (px): Unità astratta usata in CSS. 1px CSS NON corrisponde a 1 pixel fisico dello schermo su dispositivi moderni. È un'unità "logica" per garantire leggibilità.

Device Pixel Ratio (DPR): Rapporto tra pixel fisici e CSS pixels. Formula: DPR = physical_width / CSS_width

Esempio: iPhone 14 Pro
Risoluzione fisica: 1179×2556 px
Viewport CSS: 393×852 px
DPR: 1179 ÷ 393 = 3

Viewport Units in CSS: Unità relative alla viewport, utili per layout fluidi:

  • vw: 1% della viewport width. 100vw = larghezza completa
  • vh: 1% della viewport height. 100vh = altezza completa
  • vmin: 1% della dimensione minore (width/height)
  • vmax: 1% della dimensione maggiore

Meta Viewport Tag: Controlla come il browser mobile renderizza la pagina. Sintassi essenziale:

<meta name="viewport" content="width=device-width,initial-scale=1">

  • width=device-width: Usa la larghezza CSS del device
  • initial-scale=1: Zoom iniziale 100%
  • user-scalable=no: Blocca zoom (sconsigliato per accessibilità!)

Errori Comuni da Evitare

Errore #1: Dimenticare il viewport meta tag
Senza <meta name="viewport" content="width=device-width">, i browser mobili renderizzano il sito a 980px e lo scalano, rendendolo minuscolo. È il bug più comune nei siti non responsive.

Errore #2: Larghezze fisse che rompono mobile
width: 1200px; causa scroll orizzontale su mobile (375px). Usa max-width: 1200px; o width: 100%; per container fluidi.

Errore #3: Immagini non ottimizzate per DPR
Un'immagine da 400px CSS su schermo Retina (DPR 2) richiede 800px fisici. Usa srcset: <img srcset="img-1x.jpg 1x, img-2x.jpg 2x">

Errore #4: 100vh su mobile include URL bar
Safari mobile nasconde/mostra la barra URL durante lo scroll, cambiando vh. Usa CSS height: 100dvh; (dynamic viewport height) su browser moderni per compensare.

Errore #5: Testare solo in DevTools
Chrome DevTools simula viewport ma non perfettamente touch events, performance, o bug specifici iOS/Android. Testa sempre su device fisici o BrowserStack/LambdaTest.

Media Queries e Responsive Avanzato

Media Queries CSS: Applicano stili condizionali basati su caratteristiche del dispositivo. Esempi comuni:

  • @media (min-width: 768px): Tablet e desktop
  • @media (max-width: 640px): Solo mobile
  • @media (orientation: landscape): Modalità orizzontale
  • @media (prefers-color-scheme: dark): Dark mode OS
  • @media (hover: hover): Dispositivi con mouse (non touch)

Container Queries (CSS 2023): Alternativa moderna alle media queries. Invece di viewport globale, rispondono alla dimensione del contenitore parent:

.container { container-type: inline-size; }
@container (min-width: 400px) { .card { grid-columns: 2; } }

Srcset e Picture per Immagini Responsive:

<picture>
  <source media="(min-width: 768px)" srcset="desktop.jpg">
  <img src="mobile.jpg" alt="...">
</picture>

CSS clamp() per Tipografia Fluida: Scala font size tra min/max basato su viewport:

font-size: clamp(1rem, 2vw + 0.5rem, 3rem);

Mobile vs Tablet Detection Limits: Non esiste modo affidabile per distinguere "tablet" da "desktop" solo con viewport. iPad Pro (1024px) = laptop. Meglio progettare per range di larghezza (small, medium, large) anziché "device type".

💡 Best Practice 2025: Progetta per 3 breakpoint principali: Mobile (<640px), Tablet (640-1024px), Desktop (>1024px). Testa su: iPhone SE (375px), iPad (768px), MacBook (1440px). Il 70% del traffico globale è mobile — sempre inizia da mobile-first design.

Pubblicità