Les requêtes média (media queries) permettent de modifier l’apparence d’un site en fonction du type d’appareil et de ses caractéristiques, que ce soit sa résolution d’écran ou la largeur de la zone d’affichage (viewport).
Cet exercice a permis de travailler sur trois types d’affichage : le mobile, la tablette et le PC.
Ci-dessous, le code HTML :
Puis, le code CSS a été séparé en deux fichiers distincts : les styles-communs.css pour regrouper tout ce qui concerne l’apparence de la page web, et le responsive-01.css pour y regrouper les différents media queries.
Le code « styles-communs.css » :
@import url(‘https://fonts.googleapis.com/css?family=Roboto:100,400,400i,700,700i,900’);*, ::before, ::after { box-sizing: border-box; }img { max-width: 100%; }body { margin: 0; padding: 0; font-family: « Roboto », sans-serif; }* { border: 0 solid #888; }a { color: #666; } a:hover { h1, #enveloppe { .article-en-une::before, .article-en-une::after, #entete-page, #entete-page, #entete-page hgroup::after { #navigation-principale { #entete-page h1 a, #navigation-principale ul { #navigation-principale > ul li:nth-child(2n) { #navigation-principale > ul li:nth-child(2n + 1) { #navigation-principale a { #navigation-principale a:hover { main { .entete-article { .entete-article h1 { .entete-article h2 { #annexes-page { .module-page { .module-page:nth-of-type(even) { .titre-module { .titre-module { .pied-page * { |
Le code « responsive-01.css » :
#entete-page h1, #entete-page h2 { display: inline; font-size: 1rem; }#entete-page h2 { font-weight: normal; }#entete-page h2::before { content: » | « ; }#entete-page hgroup::after { content: « Styles mobile-first – largeur<768px »; }/* #navigation-principale::before { content: « \2261″; display: block; padding: .4rem 1rem; text-align: right; color: white; font-size: 32px; }#navigation-principale ul { display: none; }#navigation-principale:hover ul { display: block; } */#navigation-principale, #case-a-cocher-01 { display: none; }:checked + #navigation-principale { display: block; }label[for= »case-a-cocher-01″] { display: block; padding: .4rem 1rem; text-align: right; color: white; font-size: 32px; }label[for= »case-a-cocher-01 »]::after { content: « \2261 »; }@media screen and (min-width: 768px) { #entete-page h1, #entete-page h2 { display: block; font-size: 1rem; } #entete-page h2::before { #entete-page hgroup::after { #navigation-principale::before { #navigation-principale ul { #navigation-principale ul li { .annexe-article { .module-page { } @media screen and (min-width:992px) { main { #annexes-page { .module-page { #pied-page { } |
Ci-dessous, les trois affichages avec l’application des media queries.
Le premier est l’affichage par défaut pour affichage sur écran mobile :
Ci-dessous, avec l’application du media queries pour affichage sur écran tablette [ @media screen and (min-width: 768px) ] :
Ci-dessous, avec l’application du media queries pour affichage sur écran PC [ @media screen and (min-width:992px) ] :