Come funzionano le media query nello sviluppo web per il layout reattivo, inclusi i dispositivi mobili?
sobes.tech AI
Risposta dell'AI
Le media query consentono di applicare stili CSS specifici in base alle caratteristiche del dispositivo o dell'area di visualizzazione. Sono utilizzati per creare un design reattivo che viene visualizzato correttamente su diversi schermi, inclusi dispositivi mobili, tablet e desktop.
Sintassi principale della media query:
@media <tipo_di_media> and (<espressione>) {
/* regole CSS */
}
<tipo_di_media>determina a quale tipo di dispositivo si applica la query (ad esempio,screen,print,all).<espressione>definisce le condizioni sotto le quali vengono applicati gli stili (ad esempio, larghezza, altezza, orientamento dello schermo, risoluzione).
Espressioni popolari per il design reattivo:
min-width: Gli stili si applicano se la larghezza dell'area di visualizzazione è uguale o superiore al valore specificato.max-width: Gli stili si applicano se la larghezza dell'area di visualizzazione è uguale o inferiore al valore specificato.orientation: Gli stili si applicano in base all'orientamento dello schermo (portraitolandscape).resolution: Gli stili si applicano in base alla risoluzione dello schermo.
Esempio di utilizzo di max-width per lo stile su dispositivi mobili:
/* Stili di default */
body {
font-size: 16px;
}
/* Stili per schermi fino a 768px di larghezza (tipico per dispositivi mobili) */
@media screen and (max-width: 768px) {
body {
font-size: 14px;
}
.container {
padding: 10px;
}
}
Esempio di utilizzo di min-width per lo stile su desktop (approccio "mobile first"):
/* Stili di default per mobile */
.column {
width: 100%;
}
/* Stili per schermi con larghezza a partire da 992px (tipico per desktop) */
@media screen and (min-width: 992px) {
.column {
width: 50%;
float: left;
}
}
Combinazione di espressioni con operatori and, or (nelle media query, or si scrive con la virgola) e not:
@media screen and (min-width: 768px) and (max-width: 1024px) {
/* Stili solo per tablet */
}
@media screen and (orientation: landscape), print {
/* Stili per orientamento landscape e per stampa */
}
La meta-tag viewport è importante per il corretto funzionamento delle media query sui dispositivi mobili:
<meta name="viewport" content="width=device-width, initial-scale=1.0">
width=device-widthimposta la larghezza dell'area di visualizzazione uguale alla larghezza del dispositivo.initial-scale=1.0imposta il livello di zoom iniziale.
Senza questa meta-tag, molti browser mobili scalano la pagina di default, ignorando la reale larghezza del dispositivo, compromettendo la reattività.