Logo N
Création d'un site
ordinateur sur une table
Prêt à coder 😃
Nadège BONIN
HTML5 et CSS3

4-4 : Utilisez le responsive design avec les Media Queries ici

Les media queries sont surtout utilisées pour adapter le design du site aux différentes largeurs d'écran.

Toutes les pages d'exercices de ce chapitre ne sont pas responsive afin de pouvoir appliquer et constater les effets des médias queries des exercices

Syntaxe d'une media query : @media screen and (max-width: 1200px) {p { color: deeppink; }} voir détail ce dessous :

Avant toute chose, il est indipensable de rajouter dans l'en-tête (head) du site la ligne suivante. on demande a ce que le "viewport" du navigateur, c’est à dire la surface d’affichage du navigateur s’adapte à la largeur d’affichage de l’appareil. Cela permet donc d’assurer un affichage standard sur tous les mobiles.

meta nome=viewport" content="width=device-width, initial-scale=1.0"

Important : Si on a une page CSS juste pour les médias quieries et d'autres pour le reste du style. Il est important pour qu'elles fonctionne d'être mise en dernière ligne par rapport aux autres lignes de pages CSS que l'on a pu créer.
@media

Les media queries sont des règles qui indiquent quand on doit appliquer des propriétés CSS, en fonction de la taille de l'écran sur lequel s'affiche le site web. En inspectant la page, on peut voir le rendu en fonction du choix d'écran (à gauche d'éléments).

@media sreen

C'est le type de média le plus utiliser, car les sites web sont destinés à être regardé sur des écrans.

(max-width : 1200px)

Cela indique la taille de l'image à partir de laquel l'apparence de la page va changer. Le 1200px est un point de rupture (breakpoints) pour indiquer à partir de quel taille, des que la taille de l'ecran est inferieur à 1200px, le changement de valeur doit se faire. L'attribut peut aussi être "min-width"

and

C'est un mot clé qui sépare les deux règles. S'il y a cela et (and) cela appliquer cela.

{p { color: deeppink; }}

C'est la propriété et sa valeur qui sera appliquer à l'élémant (selecteur) choisi

Differentes règles disponibles :

La règle @ @media permet d'appliquer une partie d'une feuille de styles en fonction du résultat d'une ou plusieurs requêtes média (media queries). Grâce à cette règle, on peut indiquer une requête média et un ensemble de règles CSS qui s'appliquent uniquement si la requête média est vérifiée pour l'appareil, le contexte avec lequel le contenu est consulté

Pour plus de détail : ici

Types de médias :

• all : Valeur par défaut. Nos règles vont s’appliquer à tous les appareils.

• printer : Nos règles ne s’appliqueront que pour les imprimantes.

• speech : Nos règles ne s’appliqueront qu’aux liseurs d’écran qui sont capable de rendre le contenu d’une page de manière sonore.

• screen : Nos règles ne vont s’appliquer qu’aux appareils dotés d’un écran.

media all : type d'écran de sortie. Avec la valeur la plus utilisée, all : tout type de média.

Applicable à tous les appareils

media print : imprimante (pratique pour formater un contenu pour l’imprimer).

Destiné pour le contenu paginé et les documents visualisés sur un écran en aperçu d'impression. Les propriétés des médias paginés contrôlent la présentation du contenu imprimable ou de tout autre média dont le contenu est divisé en pages individuelles. Elles permettent de définir des sauts de page, de contrôler la zone d'impression, de donner des styles différents aux pages gauche et droite et de contrôler l'application des césures à l'intérieur des éléments. Voici quelques-unes des propriétés supportées les plus fréquemment utilisées :

• break-before : cette propriété décrit la façon dont la page, la colonne ou la région se fragmente avant la boîte générée. S'il n'y a aucune boîte générée, la propriété est ignorée

• break-after : cette propriété CSS définit la façon dont la page, la colonne ou la région se fragmente après la boîte générée. S'il n'y a aucune boîte générée, la propriété est ignorée.

• break-inside : cette propriété CSS définit comment la page, la colonne ou la région se fragmente au sein de la boîte générée. S'il n'y a aucune boîte générée, la propriété est ignorée.

• orphans : cette propriété définit le nombre minimum de lignes qui doivent rester en bas d'une page, d'une région ou d'une colonne dans un conteneur de bloc.

• widows : cette propriété définit le nombre minimum de lignes qui peuvent être laissées en haut de la page, région ou colonne suivante. En utilisant la propriété widows, on évite d'avoir des veuves sur une seule ligne

• @page : cette règle @ est utilisée afin de modifier certaines propriétés CSS lorsqu'on imprime un document. La règle @page ne permet pas de modifier toutes les propriétés mais uniquement celles qui portent sur les marges, les lignes orphelines et veuves ainsi que les sauts de page du document. Si on utilise cette règle @ pour modifier une autre propriété, ce changement sera ignoré.

media speech :

Correspond aux outils de synthèse vocale.

media screen :

Pour plus de détail sur les diférentes tailles d'écrans pour le CSS :

Cliquer sur l'image pour agrandir:

différentes tailles des écrans pour le css

Pour les tailles de mobiles cliquer : ici

Exemple d'écriture :
@media screen and ( propriété 1 : valeur 1) {
selecteur {
propriété 2: valeur 2 ; }
}

Pour tous changement de taille d'écran et une propriété 1 (préfixe) avec sa valeur 1 appliquer au selecteur le changement de la propriété 2 avec sa valeur 2.

height : hauteur exact.

CSS :

HTML :

Ensuite, 1 : cliquer droit sur l'image pour faire apparaitre le menu, 2 : cliquer gauche sur "Inspecter".

Ensuite, dans "Dimensions: Responsive", dans la deuxième case, changer la valeur et mettre la valeur exacte de 375. Pour ce cas, cela ne fonctionne si et seulement si la valeur est exact. La zone où était l'image est vide.

Resultat : cliquer ici

width : largeur exact.

CSS :

HTML :

Ensuite, 1 : cliquer droit sur l'image pour faire apparaitre le menu, 2 : cliquer gauche sur "Inspecter".

Ensuite, dans "Dimensions: Responsive", dans la première case, changer la valeur et mettre la valeur exacte de 540. Pour ce cas, cela ne fonctionne si et seulement si la valeur est exact. La zone où était l'image est vide.

Resultat : cliquer ici

Préfixe min-widht : largeur minimale.

CSS :

HTML :

En haut à gauche de votre écran, cliquer sur cette icone pour effectuer une réduction inférieur de la page.

Tant que le width de la page est superieur à 960px, l'image à un width de 300px.

Positionner le curseur de la souris sur la bordure droite de la page, clique gauche de la souris en continu pour regler la dimension de la page de droite à gauche pour changer le width et voir le changement de l'image.

Lors de la réduction du width, inferieur à 960, l'image retrouve sa taille d'origine.

Resultat : cliquer ici

Préfixe min-height : hauteur minimale.

CSS :

HTML :

En haut à gauche de votre écran, cliquer sur cette icone pour effectuer une réduction inférieur de la page.

Tant que le heigth de la page est superieur à 600px, l'image a un heigt (hauteur) de 243px.

Positionner le curseur de la souris sur la bordure en bas de la page, clique gauche de la souris en continu pour regler la dimension de la page de haut en bas pour changer le heigt et voir le changement de l'image .

Lors de la réduction du height, inferieur à 600, l'image retrouve sa taille d'origine.

Resultat : cliquer ici

Préfixe max-width : largeur maximale.
1er exemple :

CSS :

HTML :

En haut à gauche de votre écran, cliquer sur cette icone pour effectuer une réduction inférieur de la page.

Tant que le width de la page est inférieur à 960px, l'image a sa taille d'origine.

Positionner le curseur de la souris sur la bordure en bas de la page, clique gauche de la souris en continu pour regler la dimension de la page de gauche a droite pour changer le width et voir le changement de l'image .

Lors de la réduction du width, supérieur à 960px, l'image a une width de 300px.

Resultat : cliquer ici

2ème exemple : Exemple du cours d'OpenClassrooms :

CSS :

HTML :

C'est automatique.

En haut à gauche de votre écran, cliquer sur cette icone pour effectuer une réduction inférieur de la page.

Tant que le width de la page est supérieur à 960px, le format du texte est d'origine.

Positionner le curseur de la souris sur la bordure en bas de la page, clique gauche de la souris en continu pour regler la dimension de la page de gauche a droite pour changer le width et voir le changement de l'image .

Lors de la réduction du width, inferieur à 960px, le format du texte change en rouge, noir et de taille.

Resultat : cliquer ici

Préfixe max-height : hauteur maximale;

CSS :

HTML :

En haut à gauche de votre écran, cliquer sur cette icone pour effectuer une réduction inférieur de la page.

Tant que le heigth de la page est superieur à 600px, l'image a sa taille normale.

Positionner le curseur de la souris sur la bordure en bas de la page, clique gauche de la souris en continu pour regler la dimension de la page de haut en bas pour changer le heigt et voir le changement de l'image .

Lors de la réduction du height de la page, inferieur à 600, l'image a un width de 300px.

Resultat : cliquer ici

Préfixe min-widht et min-height.

CSS :

HTML :

En haut à gauche de votre écran, cliquer sur cette icone pour effectuer une réduction inférieur de la page.

Lorsque la page a une width superieur à 960px et/ou un heigth superieur à 575px, l'image a un width de 300px.

Positionner le curseur de la souris sur la bordure en bas de la page, clique gauche de la souris en continu pour regler la dimension de la page de haut en bas pour changer le heigt et voir le changement de l'image .

Lors de la réduction de la page,avec un width inferieur à 960px et/ou avec un height inferieur à 575px, l'image a sa taille d'originex.

Resultat : cliquer ici

orientation : orientation du périphérique (portrait ou paysage) :
La caractéristique orientation se définit grâce à l'un des mots-clés suivants :

• portrait : La zone d'affichage est en mode portrait (la hauteur est la plus grande dimension).

• landscape : La zone d'affichage est en mode paysage (la largeur est la plus grande dimension).

Cela permet au contenu d'ajuster sa mise en forme à l'aide de CSS, selon que la fenêtre soit en mode paysage (c'est à dire que la largeur est plus grande que la hauteur) ou en mode portrait (que sa hauteur est plus grande que sa largeur).

nb : Dans inspecter l'image, cliquer sur le petit écran, en haut à droite pour changer la position de portrait ou paysage.

Exemple pour un iPhone 12 pro : on pourra voir l'importance des tailles et du rendu en fonction du mode portrait ou mode paysage qui est different au rendu.

Mode portrait : widht= 703px et height= 442px.

Mode paysage : widht= 442px et height= 703px.

Exemple :

CSS :

HTML :

Cliquer droit sur l'image pour faire apparaitre le menu, 2 : cliquer gauche sur "Inspecter".

L'image est visible.

Cliquer sur "rotate" pour voir le changment de la page de "paysage" (horizontale) à "portrait" (verticale), avec la disparition de l'image en "portrait".

Resultat : cliquer ici

Plusieurs exemples avec @media screen :

Changement de couleur de paragraphes :

CSS :

HTML :

En haut à gauche de votre écran, cliquer sur cette icone pour effectuer une réduction inférieur de la page.

Tant que le width de la page est superieur à 960px, l'image a sa taille d'origine.

Positionner le curseur de la souris sur la bordure en bas de la page, clique gauche de la souris en continu pour regler la dimension de la page de gauche a droite pour changer le width et voir le changement de l'image .

Lors de la réduction du width, inferieur à 960px, l'écriture du paragraphe est en rose.

Resultat : cliquer ici

Redimensionner un conteneur :
Quand les blocks sont flex :

CSS :

HTML :

En haut à gauche de votre écran, cliquer sur cette icone pour effectuer une réduction inférieur de la page.

Tant que le width de la page est superieur à 960px, Les chapitres sont sur deux colonnes.

Positionner le curseur de la souris sur la bordure en bas de la page, clique gauche de la souris en continu pour regler la dimension de la page de gauche a droite pour changer le width et voir le changement de l'image .

Lors de la réduction du width, inferieur à 960px, les chapitres s'ajuste au format, dans ce cas, à une colonne.

Resultat : cliquer ici

Quand les blocks sont grid :

CSS :

HTML :

En haut à gauche de votre écran, cliquer sur cette icone pour effectuer une réduction inférieur de la page.

Tant que le width de la page est superieur à 960px, Les chapitres sont sur deux colonnes.

Positionner le curseur de la souris sur la bordure en bas de la page, clique gauche de la souris en continu pour regler la dimension de la page de gauche a droite pour changer le width et voir le changement de l'image .

Lors de la réduction du width, inferieur à 960px, les chapitres sont sur une colonne.

Resultat : cliquer ici

Enlever les images :

CSS :

HTML :

En haut à gauche de votre écran, cliquer sur cette icone pour effectuer une réduction inférieur de la page.

Tant que le width de la page est superieur à 960px, Les images sont présentees.

Positionner le curseur de la souris sur la bordure en bas de la page, clique gauche de la souris en continu pour regler la dimension de la page de gauche a droite pour changer le width et voir le changement des images .

Lors de la réduction du width, inferieur à 960px, les images disparaissent.

Resultat : cliquer ici

overflow : contrôle de dépassement de textes.

Lorsqu'on commence à définir des dimensions précises minimales ou autres pour nos blocs, le texte de paragraphe dépasse. Overflow à été créer pour contrôler les dépassements. Voici des valeurs qu'elle peut accepter. Pour plus d'information, voir aussi : mdn.

scroll : mise en place des barres de défilement.

CSS :

HTML :

En haut à gauche de votre écran, cliquer sur cette icone pour effectuer une réduction inférieur de la page.

Tant que le width de la page est superieur à 960px, Il n'y a aucun changement.

Positionner le curseur de la souris sur la bordure en bas de la page, clique gauche de la souris en continu pour regler la dimension de la page de gauche a droite pour changer le width et voir le changement du texte et des chapitre, avec l'apparition d'ascenseurs.

Lors de la réduction du width, inferieur à 960px, les ascenseurs apparaissent.

Resultat : cliquer ici

visible (par defaut) : reste visible et sort volontairement du bloc.

CSS :

Mettre une hauteur fixe, comme dans l'exemple n°1 du CSS, pour que le overflow: visible (n°2) fonctionne. Car, le texte ne peut sortir du cadre que quand celui ci est fixe, sinon il s'adapte.

HTML :

En haut à gauche de votre écran, cliquer sur cette icone pour effectuer une réduction inférieur de la page.

Tant que le width de la page est superieur à 960px, Il n'y a aucun changement.

Positionner le curseur de la souris sur la bordure en bas de la page, clique gauche de la souris en continu pour regler la dimension de la page de gauche a droite pour changer le width et voir le changement du texte.

Lors de la réduction du width, inferieur à 960px, le texte dépasse, il est "visible" hors du cadre.

Resultat : cliquer ici

hidden : cache le texte lors du dépassement des limites.

CSS :

Mettre une hauteur fixe, comme dans l'exemple n°1 du CSS, pour que le overflow: visible (n°2) fonctionne. Car, le texte ne peut sortir du cadre que quand celui ci est fixe, sinon il s'adapte.

HTML :

En haut à gauche de votre écran, cliquer sur cette icone pour effectuer une réduction inférieur de la page.

Tant que le width de la page est superieur à 960px, Il n'y a aucun changement.

Positionner le curseur de la souris sur la bordure en bas de la page, clique gauche de la souris en continu pour regler la dimension de la page de gauche a droite pour changer le width et voir le changement du texte.

Lors de la réduction du width, inferieur à 960px, le texte est non visible hors du cadre.

Resultat : cliquer ici

auto : c'est le navigateur qui décide de mettre des barres de défilement. Conseillé d'utiliser le plus souvent.

CSS :

Mettre une hauteur fixe, comme dans l'exemple n°1 du CSS, pour que le overflow: auto (n°2) fonctionne. Car, le texte ne s'adapte pas.

HTML :

En haut à gauche de votre écran, cliquer sur cette icone pour effectuer une réduction inférieur de la page.

Tant que le width de la page est superieur à 960px, Il n'y a aucun changement.

Positionner le curseur de la souris sur la bordure en bas de la page, clique gauche de la souris en continu pour regler la dimension de la page de gauche a droite pour changer le width et voir le changement du texte.

Lors de la réduction du width, inferieur à 960px, mon navigateur décide d'utiliser un ascenseur. Faire le teste avec votre propre navigateur.

Resultat : cliquer ici

Mot clé pour combiner les règles.

only : “uniquement” :

only : le mot-clé only empêche les anciens navigateurs qui ne prennent pas en charge les requêtes multimédias avec des fonctionnalités multimédias d'appliquer les styles spécifiés. Il n'a aucun effet sur les navigateurs modernes. Si l'opérateur only est utilisé, il est nécessaire d'indiquer un type de média.

and : “et” :

Le mot-clé and combine une fonctionnalité multimédia avec un type de média ou d'autres fonctionnalités multimédias comme nous avons pu le voir.

not : “non” :

le mot-clé not inverse le sens d'une requête média entière. Cet opérateur donne la négation d'une requête média. Si l'opérateur not est utilisé, il est nécessaire d'indiquer un type de média.

Page précédenteHaut de pagePage suivante