Testare viewport landscape nel Designer di Webflow

Intermedio 20:57 webflowresponsivevariabiliviewportworkflow

Simula un viewport landscape (basso) direttamente nel Designer di Webflow con una variabile number e un'altezza in calc() — niente pubblicazione, niente dev tools.

Punti chiave

  • Webflow non ridimensiona nativamente l'altezza del canvas, quindi testare un breakpoint landscape di solito significa pubblica → dev tools → ripeti — qui costruiamo un'alternativa dentro il Designer.
  • Tutto il sistema è un div viewport la cui altezza è calc(var(--vertical-resizer) * 100vh), con overflow auto, che avvolge la tua pagina.
  • Rendi il resizer una variabile number tra 0 e 1: 1 = normale, 0.7 = un viewport alto il 70% — 0.5625 dà un 16:9 perfetto.
  • Moltiplica ogni valore basato su VH per la stessa variabile, così tutti gli elementi dipendenti dall'altezza scalano insieme al viewport finto.
  • In un progetto reale costruisci la variabile fin dall'inizio a 1 (si comporta come se non ci fosse) e la porti sotto 1 solo mentre testi.
  • Bonus: il contenuto che non scala con l'altezza andrà in overflow, quindi il setup fa emergere anche i bug responsive — es. sostituisci un height: 75vh fisso con min-height: 75vh; height: auto.

Capitoli del video

  1. 00:00 Intro
  2. 01:09 Il problema + struttura della pagina
  3. 07:57 Soluzione completa passo passo
  4. 17:13 Altri test + rimuovere il setup
  5. 19:53 Outro

Alla fine di questa lezione saprai simulare un viewport landscape — la forma bassa e larga che ottieni ruotando un telefono — direttamente nel Designer di Webflow, con nient’altro che un paio di elementi e una variabile. Niente pubblicazione, niente dev tools, niente giro da ripetere all’infinito.

Il dolore è reale: Webflow ti dà un handle per ridimensionare la larghezza del canvas, ma niente per la sua altezza. Quindi testare un vero breakpoint landscape normalmente significa pubblicare su staging, aprire i dev tools di Chrome, passare alla modalità responsive, indovinare le correzioni, tornare nel Designer, ripubblicare — e da capo. Ciò che vogliamo invece è costruire il nostro “viewport” regolabile proprio sul canvas.

È esattamente ciò che fa questo piccolo sistema — ed è tutto reversibile in tre passi quando hai finito.

Come funziona

L’idea è costruire un viewport finto: un container con un’altezza regolabile che ospita la tua pagina. Ogni elemento dimensionato in unità di altezza del viewport (vh) scalerà allora rispetto all’altezza di quel container invece che dello schermo reale — così ridurlo simula un viewport più basso.

Si realizza con una variabile number e un calc(). Crea una variabile number — chiamala vertical-resizer — e tienine il valore tra 0 e 1. Un valore di 1 è la normale altezza piena del canvas; 0.7 è un viewport alto il 70%; 0.5625 (cioè 9 ÷ 16) ti dà un 16:9 perfetto. Poi avvolgi il contenuto della pagina in un div (il viewport) e imposta la sua altezza a:

height: calc(var(--vertical-resizer) * 100vh);

Con la variabile a 0.7, risolve a 70vh. La power move è impostare l’overflow del viewport su auto, che clippa e rende scrollabile il viewport finto — così puoi continuare a ispezionare e modificare mentre vedi in anteprima uno schermo più basso.

L’ultimo pezzo è la coerenza: rimappa ogni proprietà basata su VH moltiplicandola per la stessa variabile. Una hero a 100vh diventa calc(var(--vertical-resizer) * 100vh); un’immagine a 60vh diventa calc(var(--vertical-resizer) * 60vh); un min(300px, 40vh) diventa min(300px, calc(var(--vertical-resizer) * 40vh)). Ora ogni elemento dipendente dall’altezza scala insieme, e la pagina si comporta davvero come se il viewport fosse più basso.

Due note oneste. In un progetto reale non lo fai a posteriori — scrivi la variabile fin dall’inizio e la tieni a 1, dove si comporta come se non ci fosse, poi la porti sotto 1 solo mentre testi. E questo esempio usa vh in modo pesante di proposito; la maggior parte dei progetti lo usa molto meno, quindi la tecnica si integra più fluidamente di quanto suggerisca il walkthrough. Un bell’effetto collaterale: siccome il contenuto che non scala con l’altezza andrà in overflow quando riduci il viewport, questo setup fa emergere anche i bug responsive — la correzione classica è sostituire un rigido height: 75vh con min-height: 75vh; height: auto.

Come si usa

  1. Avvolgi la pagina — metti tutte le sezioni dentro un div page-wrapper (comunque un buon pattern standard).
  2. Aggiungi il viewport — avvolgi page-wrapper in un div viewport.
  3. Crea la variabile — una variabile number chiamata vertical-resizer, tenuta tra 0 e 1. Impostala a 0.7 temporaneamente per vedere l’effetto.
  4. Imposta l’altezza del viewport — dai al div viewport height: calc(var(--vertical-resizer) * 100vh) e overflow: auto.
  5. Rimappa i tuoi valori VH — passa in rassegna ogni proprietà che usa vh (altezza hero, altezze immagini, offset, padding verticale…) e moltiplica ognuna per la variabile via calc().
  6. Centralo (opzionale) — aggiungi un viewport-wrapper (flex, verticale, centrato, 100vh), sposta il viewport dentro e aggiungi bordi sopra/sotto così i suoi margini sono visibili.
  7. Testa qualsiasi ratio — cambia la variabile (es. 0.5625 per il 16:9) e, per i telefoni landscape, ridimensiona la larghezza del canvas sul breakpoint tablet (quello landscape di Webflow è datato).
  8. Rimuovilo in 3 passi — riporta la variabile a 1, sposta page-wrapper fuori dal viewport wrapper ed elimina il wrapper. Fatto.

Pulito, reversibile e davvero pratico: un wrapper, una variabile e qualche ritocco in calc() ti danno un banco di prova landscape che vive nel tuo normale workflow Webflow.

Risorse

Domande frequenti

Come testo un viewport landscape (basso) nel Designer di Webflow?
Webflow non ha un handle nativo per l'altezza del canvas, ma puoi fingerne uno: avvolgi la pagina in un div viewport la cui altezza è calc(var(--vertical-resizer) * 100vh) con overflow auto, poi porta la variabile sotto 1 per ridurre l'altezza effettiva — tutto senza uscire dal Designer.
Posso cambiare l'altezza del canvas in Webflow?
Non direttamente — non c'è un handle e l'estensione Finsweet non lo offre più. Il workaround è un elemento wrapper con altezza guidata da una variabile più overflow auto, che ti fa vedere in anteprima viewport più bassi nel Designer e rimuovere il setup in pochi passi quando hai finito.
Come vedo in anteprima un aspect ratio 16:9 landscape in Webflow?
Dopo aver ridimensionato la larghezza del canvas su un range mobile-landscape, imposta la variabile vertical-resizer a 0.5625 (cioè 9 ÷ 16). Ogni valore basato su VH scala a quel rapporto, così vedi la pagina a un 16:9 realistico senza pubblicare.
Perché il contenuto va in overflow quando riduco l'altezza del viewport?
Perché alcuni elementi scalano con l'altezza del viewport (unità VH) e altri no. Se una sezione ha un height: 75vh fisso ma il suo contenuto non si riduce, va in overflow. La soluzione di solito è min-height: 75vh con height: auto, così la sezione può crescere quando il contenuto ha bisogno di più spazio.

← Torna al corso

Fa parte anche di questi corsi