back to top

CSS: dimensioni relative alla viewport con vw, vh, vmin e vmax

Con l’avvento e la diffusione di CSS 3 e del responsive design, hanno preso piede nuove unitร  di misura legate alla dimensione dello schermo o, piรน propriamente, della viewport. Queste nuove unitร  di misura utilizzate nei CSS sono vw, vh, vmin e vmax.

Queste unitร  non sostituiscono, ovviamente, le tradizionali unitร  di misura di CSS (px, em e % su tutte), ma si affiancano ad esse, offrendo allo sviluppatore nuovi strumenti per la creazione di interfacce utente responsivi.

Pubblicitร 

Unitร  di misura relative alla dimensione della viewport

Con CSS 3 si รจ avvertita la necessitร  di offrire allo sviluppatore nuove unitร  di misura relative alla dimensione della viewport (finestra del browser). Si parla, appunto, di relative length in quanto il valore espresso non รจ assoluto (come nel caso di px o in), ma relativo ad un’altra dimensione. Quando l’altezza e/o larghezza della viewport viene modificata, le dimensioni espresse con tali nuove unitร  di misura vengono scalate di conseguenza.

รˆ importante sottolineare come tali unitร  di misura possano essere associate a qualsiasi elemento dimensionabile. Ciรฒ include, ad esempio, tutte le declinazioni delle proprietร  margin, padding e per definire la grandezza di un testo.

vw (viewport width)

Attraverso vw, la dimensione di un elemento viene rapportata alla larghezza della viewport. Puรฒ avere un valore compreso tra 1 e 100, dove ogni unitร  corrisponde all’1% della larghezza della finestra.

Esempio:

p { font-size: 2vw; }

Con questa istruzione, dimensioniamo il font dei paragrafi al 2% della larghezza della viewport. In altre parole, se la nostra finestra ha un’ampiezza di 1200 pixel, il font avrร  una dimensione di 24 pixel (pari, appunto, al 2% di 1200).

vh (viewport height)

Attraverso vh, la dimensione di un elemento viene rapportata all’altezza della viewport. Puรฒ avere un valore compreso tra 1 e 100, dove ogni unitร  corrisponde all’1% dell’altezza della finestra.

Esempio:

p { font-size: 3vh; }

Con questa istruzione, dimensioniamo il font dei paragrafi al 3% dell’altezza della viewport. In altre parole, se la nostra finestra ha un’altezza di 700 pixel, il font avrร  una dimensione di 21 pixel (pari, appunto, al 3% di 700).

vmin e vmax

Oltre a vw e vh, CSS 3 ha introdotto altre due interessanti unitร  di misura: vmin e vmax.

vmax esprime un valore relativo al lato maggiore della viewport, mentre vmin definisce un valore in relazione al lato minore dell’area di visualizzazione. Si ricordi che non tutti gli schermi hanno lo stesso orientamento, quindi non sempre il lato maggiore รจ quello orizzontale. In altre parole:

  • vmax รจ pari alla maggiore lunghezza tra vw e vh;
  • vmin รจ pari alla minore lunghezza tra vw e vh.

Su un classico computer dotato di monitor widescreen, il valore 1vmax sarร  equivalente a 1vw. Viceversa, in un tablet in modalitร  portrait, il valore di 1vmax sarร  equivalente a 1vh.

Applicazioni pratiche delle unitร  di misura viewport

Le unitร  di misura relative alla viewport non solo semplificano il lavoro degli sviluppatori, ma consentono anche di creare design altamente responsive. Ad esempio, un header puรฒ essere dimensionato in altezza utilizzando vh, permettendo cosรฌ agli elementi al suo interno di adattarsi automaticamente ai vari schermi. Inoltre, รจ possibile utilizzare vw per definire larghezze di colonne in layout a griglia. Ecco un esempio di applicazione pratica:

.header { height: 15vh; }
.column { width: 20vw; }

Conclusioni

Le relative length sono altamente raccomandate per il design responsivo, in quanto semplificano il lavoro dello sviluppatore e riducono l’utilizzo di codice CSS. Non sono necessarie media query per gestire i dimensionamenti, a differenza delle unitร  di lunghezza assolute (si pensi, per esempio, a in) che, avendo una dimensione fissa, non sono scelte ottimali per progetti destinati a display dalle diagonali differenti (Desktop, smartphone, tablet). Questo approccio porta vantaggi notevoli in termini di pulizia e manutenibilitร  del codice.

Altri contenuti interessanti

Pubblicitร 

Potrebbero interessarti queste guide

Claudio Garau
Claudio Garau
Web developer, programmatore, Database Administrator, Linux Admin, docente e copywriter specializzato in contenuti sulle tecnologie orientate a Web, mobile, Cybersecurity e Digital Marketing per sviluppatori, PA e imprese.

Leggi anche...

Video Background HTML e CSS: consigli, caratteristiche tecniche e best practices

Utilizzare un video come sfondo (noto anche come video background)...

Visualizzare il codice sorgente HTML di una pagina web su iPhone e iPad

Molti sviluppatori si trovano in difficoltร  quando hanno bisogno...

Caratteri speciali negli URL: quali sono e come gestirli

Gli URL (Uniform Resource Locator) sono componenti fondamentali del...

Stilizzare HR (linee orizzontali) in puro CSS

Il tag <hr> (Horizontal Rule) รจ un elemento HTML...

Convertire PSD in HTML/CSS: ecco come fare

Avete deciso di creare un sito web ma non...
Pubblicitร