Treci la conținutul principal

Media queries CSS

Paginile web responsive se bazează pe media queries, care aplică stiluri în funcție de caracteristicile dispozitivului sau ale mediului care afișează pagina.

Acestea se adaugă într-o foaie de stiluri prin regula CSS @media.


Folosirea Media Queries pentru a adăuga un punct de întrerupere

Pe pagina anterioară a fost construită o pagină web cu aspect de grilă. Acum are nevoie de un punct de întrerupere, pentru ca un media query să îi poată rearanja elementele grilei pe ecrane mai mari.

Exemplu

Media query-ul din acest exemplu setează un punct de întrerupere la 600px:

Prompt
Creați o pagină cu aspect de tip grilă responsivă cu un antet, meniu, conținut, bară laterală de fapte și subsol. Implicit (pe mobil), toate elementele se stivuiesc într-o singură coloană. Adăugați un media query la 600px min-width care rearanjează elementele într-o grilă cu 6 coloane: antetul se întinde pe toate 6, meniul pe 1, conținutul pe 4, faptele pe 1, subsolul pe toate 6.
Rezultat: pagină HTML completă

Alt punct de întrerupere

Numărul punctelor de întrerupere nu este limitat, așa că poți adăuga câte vrei.

Exemplu

Aceste media queries adaugă două puncte de întrerupere, unul pentru ecrane de cel puțin 600px și unul pentru ecrane de cel puțin 768px:

Prompt
Creați un aspect de tip grilă responsivă cu secțiuni de antet, meniu, conținut, fapte și subsol. Folosiți două puncte de întrerupere media query: la 600px, rearanjați într-o grilă în care meniul are 1 coloană, conținutul are 4 coloane, iar faptele merg pe rândul propriu, întinzându-se pe toate 6; la 768px, mutați faptele lângă conținut (1 coloană) astfel încât meniul, conținutul și faptele să împartă același rând.
Rezultat: pagină HTML completă

Puncte de întrerupere tipice pentru dispozitive

Există atât de multe ecrane și dispozitive cu înălțimi și lățimi diferite, încât este greu de creat un punct de întrerupere exact pentru fiecare. Dacă vizezi cinci grupuri comune, lucrurile rămân simple.

Exemplu

Prompt
Creați o pagină care demonstrează punctele de întrerupere responsive tipice, schimbând culoarea de fundal a body-ului la cinci lățimi comune: 600px și mai puțin (extra mic), 600px și mai mult (mic), 768px și mai mult (mediu), 992px și mai mult (mare) și 1200px și mai mult (extra mare). Afișați un text care indică intervalul de dimensiune curent.
Rezultat: pagină HTML completă

Media queries pentru orientarea ecranului

Aspectul unei pagini poate răspunde și la orientarea ecranului, prin media queries.

În modul peisaj, în acest exemplu se schimbă culoarea de fundal a body-ului:

Exemplu

Prompt
Creați o pagină care folosește un media query pentru a schimba culoarea de fundal a body-ului în albastru deschis atunci când orientarea ecranului este modul peisaj.
Rezultat: pagină HTML completă

Ascunderea elementelor cu media queries

Pe ecranele mici, media query-ul de mai jos ascunde un element:

Exemplu

Prompt
Creați o pagină cu un element div care conține textul „Voi fi ascuns pe ecranele mici.” Folosiți un media query pentru a ascunde acest element atunci când lățimea ferestrei de vizualizare este de 600px sau mai puțin.
Rezultat: pagină HTML completă

Schimbarea dimensiunii fontului cu media queries

Pe măsură ce se schimbă lățimea ferestrei de vizualizare, media query-ul de mai jos ajustează dimensiunea fontului unui element:

Exemplu

Prompt
Creați o pagină cu un element div care conține un text. Folosiți un media query pentru a schimba dimensiunea fontului acelui element la 80px atunci când lățimea ferestrei de vizualizare este de 600px sau mai mult.
Rezultat: pagină HTML completă

Media queries pentru preferințele utilizatorului

Persoanele cu sensibilitate la mișcare tind să prefere site-urile web cu mai puțină animație.

Dacă un utilizator a cerut mișcare redusă, de exemplu mai puține animații sau tranziții, se poate verifica prin caracteristica media prefers-reduced-motion. Dacă această setare este activă pe calculatorul lui, această caracteristică îți permite să dezactivezi animațiile și tranzițiile.

Exemplu

Prompt
Creați o pagină cu un element animat (de exemplu, o casetă care se mișcă pe ecran). Adăugați un media query prefers-reduced-motion care dezactivează toate animațiile și tranzițiile atunci când utilizatorul a solicitat mișcare redusă în setările sistemului.
Rezultat: pagină HTML completă