• 1. Introduction
    • Les outils du développeur
  • 2. HTML
    • La syntax
      • Balise inline ou block ?
      • Les balises les plus utiles
      • Balises avec attributs
    • Une page html
      • Le nommage en WEB
      • Créer un fichier HTML
      • Structure de base
  • 3. CSS
    • La syntax
      • Les unités
      • Les sélecteurs
    • Une feuille css
      • Créer un document CSS
      • Lier le CSS
    • Positions
    • Flexbox
    • Grid
    • Responsive (Media queries)
  • 4. JS
    • La syntax
      • Les variables
    • Un fichier js
    • Exercices
  • 5. CMS
    • Introduction aux CMS
    • Installation de XAMPP (serveur local)
    • Joomla
      • Architecture
      • Le thème enfant
      • Les modules
      • Les menus
      • Custom fields
      • Language overrides
      • Tips&tricks
    • Wordpress
      • Initiation d'un wordpress
      • Le thème enfant
  • 6. SEO
    • Pourquoi la sémantique ?
  • 7. Mise en ligne
  • 8. UI / UX Design
    • Figma
      • Comprendre l'interface
      • Les pages et les calques
      • Raccourci clavier
    • Introduction
      • Les outils et aides de créations
      • Déroulement type d'un projet
Contact & horaire
  • fr
  • de

Responsive (Media queries)

ou comment adapter son site pour les différentes tailles d'écrans

Le Responsive Design consiste à adapter l’apparence d’un site web à différentes tailles d’écrans. Avec la diversité des appareils modernes (ordinateurs, tablettes, mobiles), il est crucial de rendre chaque site agréable et fonctionnel sur chaque taille d'écran. Pour cela, on utilise les Media Queries en CSS, qui permettent d’appliquer des styles spécifiques selon la largeur de l’écran.

La règle @media

La règle @media en CSS permet de créer des styles qui s'appliquent sous certaines conditions. Voici quelques exemples :

Taille de l'écran
@media screen and (max-width: 780px){
    /*  styles pour les écrans de moins de 780px */
}

ou

@media screen and (min-width: 780px){
    /*  styles pour les écrans de plus de 780px */
}
Orientation de l'appareil
@media (orientation: landscape) {
    /* styles pour les écrans en mode paysage */
}

ou

@media (orientation: portrait) {
    /* styles pour les écrans en mode portrait */
}
Résolution et Impression

On peut également définir des conditions en fonction de la résolution avec @media screen and (max-resolution: 99dpi). De plus, tu peux spécifier des règles pour l'impression avec @media print.

Ces deux pratiques sont rarement utilisées, donc on ne s'y attardera pas.

L'essentiel à retenir est d'utiliser @media screen avec les précisions min-width ou max-width.

Tailles conventionnelles :

  • Mobile : 0 à 480px
    • @media screen and (max-width: 480px)
  • Tablette : 481px à 768px
    • @media screen and (max-width: 768px)
  • Petit écran : 769px à 1024px
    • @media screen and (max-width: 1024px)

Tu peux bien entendu utiliser les tailles que tu souhaites.

Par exemple, si tu as un élément qui te dérange à 865px, tu peux ajouter une règle @media screen and (max-width: 865px). Les valeurs ci-dessus sont conventionnelles, mais n’hésite pas à les adapter selon tes besoins.

Utilisation concrète

Prenons un exemple simple, si nous souhaitons que le fond du document complet, soit le fond du body soit en bleu sur large desktop, en rouge sur petit desktop, en jaune sur tablette et en vert sur mobile. Voici comment s'écrit nos règles CSS pour l'obtenir :

    /* Style défini de base, soit pour large écran */
    body {
        background: blue;
    }

    /* Styles défini pour petit desktop */
    @media screen and (max-width: 1024px) {
        body {
            background: red;
        }
    }

    /* Styles défini pour tablette */
    @media screen and (max-width: 768px) {
        body {
            background: yellow;
        }
    }

    /* Styles défini pour mobile */
    @media screen and (max-width: 480px) {
        body {
            background: green;
        }
    }

Note : Il est important d’ajouter, dans les media queries, uniquement les styles qui changent par rapport au style de base.

Par exemple, si l’élément .bouton est déjà stylé de manière satisfaisante pour les grands écrans et que sur mobile seule le font-sizechange. Dans notre @mediaon ne retrouver que cette propriété là, voici le code qui illustre ces propos :

.bouton {
    background: black;
    border: none;
    color: white;
    border-radius: 15px;
    padding: 10px 20px;
    font-size: 16px;
}


et que sur mobile, le seul changement nécessaire au .bouton et le font-size, on aura dans notre @media ceci :

@media screen and (max-width: 480px) {
    .bouton {
        font-size: 16px;
    }
}

Table of Contents

  • La règle @media
  • Tailles conventionnelles :
  • Utilisation concrète