![]() |
Le media query sono uno strumento fondamentale del Responsive Web Design, ovvero l'approccio alla creazione di siti web capaci di adattarsi automaticamente a diverse dimensioni di schermo e dispositivi (desktop, tablet, smartphone, TV...).
In questo articolo vedremo:
- Cosa sono le media query
- Come funzionano
- Quali sono i principali tipi di media features
- Esempi pratici di utilizzo
- Best practices e strumenti utili
🧠 Cos’è una media query?
Una media query è una regola CSS che consente di applicare uno stile solo se certi criteri relativi al dispositivo di visualizzazione sono soddisfatti (come larghezza dello schermo, orientamento, risoluzione, ecc.).
La sintassi base è:
@media tipo_dispositivo and (condizione) {
/* Regole CSS */
}
Ma nella maggior parte dei casi, viene usata così:
@media (max-width: 768px) {
body {
background-color: lightblue;
}
}
👉 In questo esempio, il colore di sfondo del body diventerà lightblue solo se la larghezza dello schermo è pari o inferiore a 768px.
📐 Perché sono così importanti?
Immagina di navigare un sito progettato solo per desktop dal tuo telefono: testi piccoli, layout fuori scala, esperienza frustrante.
Le media query permettono di personalizzare l’aspetto del sito in base alle dimensioni e caratteristiche del dispositivo, migliorando l’usabilità e l’accessibilità.
🔍 Sintassi dettagliata
@media [not|only] <media-type> and (<media-feature>) {
/* CSS rules */
}
media-type: tipo di dispositivo (es:screen,print,all)media-feature: proprietà da verificare (es:min-width,orientation)not/only: operatori opzionali per controllare l'applicazione
Esempio combinato:
@media only screen and (min-width: 768px) and (max-width: 1024px) {
.menu {
display: block;
}
}
🔧 Media features più usate
| Media Feature | Descrizione | Esempio |
|---|---|---|
width, height |
Larghezza o altezza totale del viewport | max-width: 600px |
min-width |
Applica stili da quella larghezza in su | min-width: 1024px |
max-width |
Applica stili fino a quella larghezza | max-width: 768px |
orientation |
Orientamento (portrait o landscape) |
orientation: landscape |
resolution |
Risoluzione del dispositivo (es: per stampa) | min-resolution: 300dpi |
prefers-color-scheme |
Rileva il tema scuro/chiaro del sistema operativo | prefers-color-scheme: dark |
👨💻 Esempi pratici
✅ Layout responsive semplice
/* Stili desktop (di default) */
.container {
width: 800px;
margin: auto;
}
/* Stili per tablet */
@media (max-width: 768px) {
.container {
width: 90%;
}
}
/* Stili per smartphone */
@media (max-width: 480px) {
.container {
width: 100%;
padding: 10px;
}
}
🎨 Tema scuro automatico
@media (prefers-color-scheme: dark) {
body {
background-color: #121212;
color: #f0f0f0;
}
}
📏 Cambiamento di layout in base alla larghezza
.grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 768px) {
.grid {
grid-template-columns: repeat(2, 1fr);
}
}
@media (max-width: 480px) {
.grid {
grid-template-columns: 1fr;
}
}
💡 Best practices
- Mobile First: Scrivi i tuoi stili per dispositivi mobili per primi, poi sovrascrivi con media query per schermi più grandi.
/* Mobile default */ .nav { display: none; } /* Desktop */ @media (min-width: 1024px) { .nav { display: block; } } - Usa unità relative (
em,rem,%) invece di pixel per maggiore flessibilità. - Organizza il codice: puoi scrivere media query accanto ai componenti a cui si riferiscono o separarle in un file dedicato.
🛠️ Strumenti utili
- Chrome DevTools – per testare il comportamento responsive con diverse dimensioni di schermo.
- Responsively App – simulatore per dispositivi multipli.
- Can I Use – per verificare la compatibilità delle media query con i browser.
- BrowserStsack - piattaforma completa per il testing multidevice
📚 Conclusione
Le media query sono la spina dorsale del design moderno sul web. Conoscere la loro sintassi e usarle correttamente permette di:
- Aumentare l’accessibilità del sito
- Migliorare la UX su tutti i dispositivi
- Creare layout dinamici, fluidi e professionali
Imparare a progettare con un approccio responsive non è più un'opzione: è uno standard.
Follow me #techelopment
Official site: www.techelopment.it
facebook: Techelopment
instagram: @techelopment
X: techelopment
Bluesky: @techelopment
telegram: @techelopment_channel
whatsapp: Techelopment
youtube: @techelopment
