Configurazioni schermo

Il Adaptive web design è stato sotto molti aspetti una reazione ai telefoni cellulari. Prima che apparissero gli smartphone, pochissime persone hanno preso in seria considerazione l'aspetto e il design dei siti web sui dispositivi portatili. Le cose sono cambiate con il vertiginoso aumento dei telefoni cellulari dotati di browser web integrati.

Il Responsive Web Design ha favorito una mentalità che metteva in discussione le ipotesi. Mentre in precedenza era comune supporre che un sito web venisse visualizzato solo su un computer desktop, ora è prassi comune progettare lo stesso sito web anche per telefoni e tablet. Infatti, l'utilizzo dei dispositivi mobili ha ora superato l'uso dei computer desktop sul web.

Questo atteggiamento mentale reattivo ti sarà utile per il futuro. È del tutto possibile che i tuoi siti web vengano visualizzati su dispositivi e schermi che al momento non possiamo nemmeno immaginare. Questa mentalità va oltre gli schermi. Ancora oggi le persone utilizzano dispositivi privi di schermo per accedere ai tuoi contenuti. Gli assistenti vocali possono utilizzare i tuoi siti web se utilizzi una solida base di HTML semantico.

C'è molta sperimentazione anche nel mondo degli schermi. Oggi sul mercato sono disponibili dispositivi dotati di schermi pieghevoli. Questo comporta alcune sfide per i tuoi progetti.

Un montaggio di telefoni pieghevoli in diverse configurazioni.

Doppio schermo

Gli utenti di dispositivi pieghevoli possono scegliere se il browser web deve occupare solo uno degli schermi o occupare entrambi gli schermi. Se il browser si estende su entrambi gli schermi, il sito web visualizzato verrà suddiviso in base alla cerniera tra i due schermi. Non ha un bell'aspetto.

Un sito web su due schermi. Il flusso orizzontale di testo è interrotto dalla cerniera tra gli schermi.

Segmenti dell'area visibile

È disponibile una funzione sperimentale per i contenuti multimediali progettata per rilevare se il tuo sito web viene visualizzato su un dispositivo con doppio schermo. Il nome proposto per la funzionalità multimediale è viewport-segments. Ce ne sono due tipi: horizontal-viewport-segments e vertical-viewport-segments.

Se la funzionalità multimediale horizontal-viewport-segments riporta un valore pari a 2 e vertical-viewport-segments indica un valore pari a 1, significa che la cerniera sul dispositivo viene eseguita dall'alto verso il basso, suddividendo i contenuti in due riquadri affiancati.

@media (horizontal-viewport-segments: 2) and (vertical-viewport-segments: 1) {
  // Styles for side-by-side screens.
}

Se la funzionalità dei contenuti multimediali vertical-viewport-segments riporta un valore pari a 2 e horizontal-viewport-segments indica un valore pari a 1, il cardine viene eseguito da un lato all'altro e divide i contenuti in due riquadri, uno sopra l'altro.

@media (vertical-viewport-segments: 2) and (horizontal-viewport-segments: 1) {
  // Styles for stacked screens.
}
Diagramma che mostra i segmenti dell'area visibile.
Diagramma di Microsoft Edge Explainers.

Se sia vertical-viewport-segments sia horizontal-viewport-segments riportano il valore 1 significa che il sito web viene visualizzato su una sola schermata, anche se il dispositivo ha più di una schermata. Equivale a non utilizzare alcuna query supporti.

Variabili di ambiente

La funzionalità per i contenuti multimediali viewport-segments da sola non ti aiuterà a progettare in base a quella fastidiosa cerniera. Hai bisogno di un modo per conoscere le dimensioni della cerniera. In questi casi possono essere utili le variabili di ambiente.

Le variabili di ambiente in CSS ti consentono di tenere conto di intrusioni imbarazzanti nei dispositivi negli stili. Ad esempio, puoi progettare intorno alla "tacca" dell'iPhone X utilizzando i valori di ambiente safe-area-inset-top, safe-area-inset-right, safe-area-inset-bottom e safe-area-inset-left. Queste parole chiave sono incluse in una funzione env().

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

Le variabili di ambiente funzionano come proprietà personalizzate. Ciò significa che puoi passare un'opzione di riserva nel caso in cui la variabile di ambiente non esista.

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

Affinché queste variabili di ambiente funzionino su iPhone X, aggiorna l'elemento meta che specifica le informazioni viewport:

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

Ora il layout di pagina occuperà l'intera area visibile e riempirà in modo sicuro il documento con valori predefiniti forniti dal dispositivo.

Per gli schermi pieghevoli, vengono proposte sei nuove variabili di ambiente: viewport-segment-width, viewport-segment-height, viewport-segment-top, viewport-segment-left, viewport-segment-bottom e viewport-segment-right.

Diagramma che mostra le variabili di ambiente per i dispositivi con due schermi.
Diagramma di Microsoft Edge Explainers.

Ecco un esempio di layout con due colonne, una più larga dell'altra.

@media (min-width: 45em) {
  main {
    display: flex;
    flex-direction: row;
  }
  main article {
    flex: 2;
  }
  main aside {
    flex: 1;
  }
}

Il layout è suddiviso su due schermi con la cerniera che interrompe la colonna più ampia.

Per gli schermi doppi con supporto verticale, imposta la prima colonna in modo che corrisponda alla larghezza del primo schermo e della seconda colonna alla larghezza del secondo.

@media (horizontal-viewport-segments: 2) and (vertical-viewport-segments: 1) {
  main article {
    flex: 1 1 env(viewport-segment-width 0 0);
  }
  main aside {
    flex: 1;
  }
}

Il layout è suddiviso uniformemente su due schermi senza interruzioni visibili.

Considera il doppio schermo come un'opportunità. Una schermata potrebbe essere utilizzata per visualizzare contenuti di testo scorrevoli, mentre l'altra mostra un elemento fisso come un'immagine o una mappa.

Diagramma che mostra un servizio di geolocalizzazione suddiviso in due schermate, con la mappa su una schermata e le indicazioni stradali sull&#39;altra.
Diagramma di Microsoft Edge Explainers.

Il futuro

I display pieghevoli diventeranno la prossima grande novità? Chissà. Nessuno avrebbe mai immaginato quanto sarebbero diventati popolari i dispositivi mobili, quindi vale la pena avere una mentalità aperta sui futuri fattori di forma.

Prima di tutto, vale la pena verificare che i tuoi siti web siano in grado di rispondere a qualsiasi evenienza futura. Questo è ciò che il Responsive Web ti offre: non solo un insieme di tecniche pratiche, ma una mentalità che ti aiuterà a costruire il web di domani.

Verifica la tua comprensione

Verifica le tue conoscenze sulle configurazioni dello schermo

Quale query multimediale ha come target un dispositivo pieghevole in modalità orizzontale divisa?

@media (horizontal-viewport-segments: 2) and (vertical-viewport-segments: 1)
Schermo configurato con 2 colonne e 1 riga, divisa in orizzontale.
@media (vertical-viewport-segments: 2) and (horizontal-viewport-segments: 1)
2 righe e 1 colonna, divisa in verticale.
@media (vertical-viewport-segments: 2) and (horizontal-viewport-segments: 2)
2 righe e 2 colonne, suddivise in 4 modi.
@media (vertical-viewport-segments: 1) and (horizontal-viewport-segments: 1)
Una sola cella, nessuna divisione.

Che cosa sono le variabili di ambiente? Ad es. env(safe-area-inset-top)

Variabili relative al meteo in cui si trova l'utente.
Ambiente errato. Queste variabili CSS non riguardano l'ambiente fisico in cui si trova l'utente.
Variabili di tempo di compilazione personalizzate.
Sebbene siano utili in fase di compilazione, le variabili sono utili, ma non corrispondono alle variabili di ambiente specificate.
Variabili contenenti attributi specifici del browser da utilizzare per adattare un sito al browser e al dispositivo in questione.
È un modo per il browser e un autore di collaborare su contesti di area visibile univoci o sul browser che hanno un impatto sugli attributi.
Variabili verdi e più sicure per l'ambiente.
Il CSS e le sue variabili non possono avere un impatto minore sull'inquinamento del mondo.