Il tuo sito sembra perfetto sul desktop, ma sul telefono è illeggibile. Testi minuscoli, colonne che escono dallo schermo, pulsanti che si toccano con la punta delle dita. Lo vediamo spesso nei progetti che ci arrivano: un design pensato da schermo largo, adattato male al mobile. Noi, di Meteora Web, lavoriamo con l'approccio mobile-first da anni, e con Tailwind CSS diventa naturale. Non è una moda: è come si costruisce oggi un sito che venda o converta davvero. In questa guida ti mostriamo il perché e il come, con esempi che puoi copiare subito.
Perché Mobile-First? La realtà del traffico
Oltre il 60% del traffico web globale arriva da dispositivi mobili. Se il tuo sito non è pensato prima per quello schermo piccolo, stai perdendo visitatori — e potenziali clienti. L'approccio mobile-first significa iniziare a progettare dalla versione più stretta (telefono) e poi aggiungere via via regole per schermi più grandi. Con Tailwind, questo è integrato direttamente nelle classi: ogni utility senza prefisso di breakpoint vale per tutti gli schermi. Poi aggiungi prefissi come sm:, md:, lg: per sovrascrivere quando serve.
Il vantaggio pratico? Non devi scrivere media query a mano, non devi ricordarti di resettare proprietà. Tailwind segue il principio mobile-first di default: le classi base si applicano sempre, quelle con prefisso si attivano solo da quella larghezza in su.
I Breakpoint di Tailwind: conoscerli per usarli bene
Tailwind definisce cinque breakpoint predefiniti, tutti con logica mobile-first (min-width):
/* Valori di default Tailwind */
sm: 640px /* >= 640px */
md: 768px /* >= 768px */
lg: 1024px /* >= 1024px */
xl: 1280px /* >= 1280px */
2xl: 1536px /* >= 1536px */
Puoi personalizzarli nel file tailwind.config.js, ma i default coprono bene la maggior parte dei progetti. La regola è: non pensare mai a "fino a quanto", ma sempre "da quanto in su". Se vuoi uno stile per il mobile (es. testo piccolo) lo scrivi senza prefisso; per tablet aggiungi md:, per desktop lg:.
Come usare i breakpoint in pratica: esempi che funzionano
Testo responsive
Vogliamo un titolo piccolo su mobile, medio su tablet, grande su desktop:
Titolo responsive
Su mobile ( < 768px): text-2xl. Da 768px (md) in su: text-3xl sovrascrive. Da 1024px (lg) in su: ancora più grande. Nessun media query scritto a mano.
Grid a una colonna su mobile, due su tablet, tre su desktop
Card 1
Card 2
Card 3
Su mobile: 1 colonna. Da 768px: 2 colonne. Da 1024px: 3 colonne. Il gap-4 rimane uguale in ogni viewport.
Nascondere / mostrare elementi
A volte vuoi mostrare un menu hamburger solo su mobile e la navigazione completa su desktop:
Nota: block md:hidden significa "blocco per default, nascosto da md in su". hidden md:flex significa "nascosto per default (mobile), flessibile da md in su". Funziona perfettamente e nessun JavaScript necessario per il toggle di base.
Spaziatura e padding variabile
Contenuto con padding crescente
Su mobile spazio stretto, su desktop più arioso. Semplice e pulito.
Organizzare il CSS con l'approccio mobile-first: best practices
Quando costruisci componenti complessi, usa sempre le classi base per il mobile e poi aggiungi i prefissi. Ecco un pattern che usiamo nei nostri progetti:
Testo
Immagine
Su mobile: colonna verticale, immagine sopra (order-1), testo sotto. Su tablet+ : riga orizzontale, testo a sinistra, immagine a destra. Tutto con poche classi, zero CSS custom.
Se devi scrivere CSS personalizzato (raro con Tailwind), usa le media query min-width nello stesso ordine:
.mio-componente {
@apply p-4 text-base;
}
@media (min-width: 768px) {
.mio-componente {
@apply p-8 text-lg;
}
}
Mai usare max-width se non strettamente necessario — rompe il pattern mobile-first.
Errori comuni e come evitarli
- Usare solo breakpoint alti senza base mobile: Se scrivi solo
lg:text-xle nontext-base, su mobile il testo non avrà dimensione definita (erediterà il default). Imposta sempre una base mobile. - Confondere i prefissi: Ricorda:
sm:si attiva da 640px, non prima. Se vuoi uno stile valido fino a 639px, usa la classe base e poism:...per cambiare. - Non testare su dispositivi reali: I dev tools del browser simulano, ma nulla batte un telefono vero. Noi, di Meteora Web, testiamo sempre su iPhone, Android e tablet prima di andare in produzione.
- Dimenticare le immagini responsive: Le immagini devono scalare. Usa
max-w-full h-autooppure le utility di oggetto-cover. Tailwind non le gestisce magicamente, devi applicarle.
In sintesi — cosa fare adesso
- Controlla il tuo CSS: Se hai media query con
max-widtho stili per desktop scritti prima del mobile, inizia a invertire l'ordine. Tailwind ti forza già a farlo. - Riscrivi un componente usando il pattern mobile-first: Prendi una scheda prodotto o un header e riscrivilo con classi Tailwind senza prefisso per mobile, poi aggiungi
md:elg:per schermi più grandi. - Testa su uno schermo stretto (375px) con il browser: Apri il dev tools, seleziona un emulatore iPhone, e verifica che tutto sia leggibile e toccabile. Se no, applica le classi base mancanti.
- Personalizza i breakpoint nel tuo progetto: Modifica
tailwind.config.jsse servono punti specifici (es. 900px per tablet). Ma prima chiediti: servono davvero? I default coprono il 90% dei casi. - Ricorda: la SEO premia il mobile-first. Google indicizza la versione mobile. Un sito che carica bene su telefono e ha una struttura chiara scala meglio in SERP. Noi lo vediamo nei risultati dei nostri clienti.
L'approccio mobile-first non è un optional. Con Tailwind diventa talmente semplice che ti chiederai perché non lo facevi prima. Se hai un progetto esistente da adattare o vuoi partire da zero, noi di Meteora Web possiamo darti una mano. Ma soprattutto: inizia a scrivere prima per il telefono. Il desktop sarà di conseguenza.
Sponsored Protocol