Treci la conținutul principal

Exemple de media queries CSS

Livrarea de stiluri diferite pentru dispozitive diferite este o utilizare populară a media queries. Regulile CSS pot depinde astfel de caracteristicile dispozitivului, printre care lățimea viewport-ului.

Exemplu

Aici, culoarea de fundal se schimbă pe măsură ce se schimbă lățimea viewport-ului.

Prompt
Creează o pagină care folosește media queries pentru a schimba culoarea de fundal a corpului paginii la diferite lățimi de viewport: olive pentru mobil, blue la 768px și tan la 992px. Include text alb pentru primele două și text negru pentru ultima.
Rezultat: pagină HTML completă

Media queries pentru coloane

Aspectele flexibile sunt o altă utilizare comună. În funcție de dimensiunea ecranului, aspectul de aici alternează între patru coloane, două coloane și coloane pe toată lățimea.

Capitolul CSS Flexbox explică mai în detaliu modulul Flexible Box Layout.

Pentru mai multe despre Responsive Web Design, vezi Tutorialul de Responsive Web Design.

Exemplu

Prompt
Creează o pagină cu patru coloane de lățime egală folosind flexbox. Folosește media queries astfel încât coloanele să devină câte două pe rând la 992px sau mai puțin și să se stivuiască într-o singură coloană la 600px sau mai puțin. Fiecare coloană trebuie să conțină niște text de exemplu.
Rezultat: pagină HTML completă

Media queries pentru meniuri

Și un meniu de navigare poate deveni responsive, cu un design care se adaptează la fiecare dimensiune de ecran prin media queries.

Exemplu

Prompt
Creează un meniu de navigare orizontal folosind o listă neordonată și flexbox. Stilizează linkurile cu text alb pe un fundal închis la culoare (#333). Folosește un media query pentru a stivui elementele meniului vertical când viewport-ul este de 600px sau mai puțin.
Rezultat: pagină HTML completă

Ascunderea elementelor cu media queries

Ecranele mici s-ar putea să nu aibă nevoie de toate elementele, iar un media query le poate ascunde pe cele de care nu au nevoie.

Exemplu

Prompt
Creează o pagină cu un element div stilizat care este ascuns când lățimea viewport-ului este de 600px sau mai puțin, folosind un media query cu display: none.
Rezultat: pagină HTML completă

Schimbarea dimensiunii fontului cu media queries

Și dimensiunea fontului unui element poate urma lățimea viewport-ului, printr-un media query.

Exemplu

Prompt
Creează o pagină cu un element div a cărui dimensiune a fontului se schimbă la 80px când lățimea viewport-ului este de 600px sau mai mult, folosind un media query cu min-width.
Rezultat: pagină HTML completă

Media queries pentru orientarea ecranului

Orientarea ecranului este o altă condiție la care poate răspunde un media query, ajustând corespunzător aspectul paginii.

Exemplu

Cât timp ecranul este în orientare peisaj, body primește o altă culoare de fundal.

Prompt
Creează o pagină care folosește un media query pentru a schimba culoarea de fundal a corpului paginii în lightblue când orientarea ecranului este de tip peisaj.
Rezultat: pagină HTML completă

Media queries pentru preferințele utilizatorului

Animația poate fi o problemă pentru persoanele cu sensibilitate la mișcare, care preferă site-urile web cu mai puțină animație.

Pentru a afla dacă un utilizator a cerut mișcare redusă, de exemplu mai puține animații sau tranziții, verifică caracteristica media prefers-reduced-motion. Când această setare este activă pe calculatorul lui, poți dezactiva animațiile.

Exemplu

Prompt
Creează o pagină care folosește caracteristica media prefers-reduced-motion pentru a dezactiva toate animațiile și tranzițiile atunci când utilizatorul a solicitat mișcare redusă.
Rezultat: pagină HTML completă

Galerie de imagini responsive

Combinând flexbox cu media queries, obții o galerie de imagini responsive.

Exemplu

Prompt
Creează o galerie de imagini responsivă folosind flexbox și media queries. Afișează patru imagini pe rând pe ecrane mari, două pe rând pe ecrane medii (sub 800px) și una pe rând pe ecrane mici (sub 600px). Folosește imagini de tip placeholder.
Rezultat: pagină HTML completă

Site web responsive

Aceeași combinație de flexbox și media queries poate organiza un întreg site web responsive.

Exemplu

Prompt
Creează un layout de site web responsiv cu un antet, o bară de navigare, o zonă de conținut principal cu o coloană laterală și un subsol. Folosește flexbox și media queries astfel încât layout-ul să se stivuiască vertical pe ecrane mici (sub 600px).
Rezultat: pagină HTML completă