CodeGym /Cours /Frontend SELF FR /Les bases de la mise en page responsive

Les bases de la mise en page responsive

Frontend SELF FR
Niveau 25 , Leçon 0
Disponible

1.1 Approche Mobile-First

Responsive design — c'est une approche du développement web qui permet aux sites web de s'adapter à diverses tailles d'écran et appareils, assurant ainsi la meilleure expérience utilisateur possible. L'objectif principal de la mise en page responsive est de rendre le site pratique et accessible à tous les utilisateurs, quel que soit l'appareil qu'ils utilisent.

L'approche Mobile-First suppose que le développement commence par la création d'un design pour les appareils mobiles avec de petits écrans, puis s'étend aux écrans plus grands. Cette méthode aide à se concentrer sur les éléments et fonctionnalités les plus importants du site.

Avantages de l'approche Mobile-First :

  • Optimisation du contenu pour les utilisateurs mobiles
  • Simplification du design et des fonctionnalités pour les petits écrans
  • Amélioration des performances en réduisant la quantité de contenu

Exemple :

CSS
    
      /* Styles de base pour appareils mobiles */

      body {
        font-size: 16px;
        margin: 0;
        padding: 0;
      }

      /* Styles pour écrans plus grands */

      @media (min-width: 768px) {
        body {
          font-size: 18px;
        }
      }
    
  

1.2 Amélioration progressive (Progressive Enhancement)

L'amélioration progressive se concentre sur la fourniture de fonctionnalités de base à tous les utilisateurs, puis ajoute des améliorations pour les navigateurs et appareils plus puissants. C'est une approche qui assure l'accessibilité du contenu, même si certaines fonctionnalités ou styles ne sont pas pris en charge par l'appareil de l'utilisateur.

Avantages de l'amélioration progressive :

  • Fourniture de fonctionnalités de base à tous les utilisateurs
  • Amélioration de l'expérience utilisateur pour ceux qui ont des appareils plus modernes
  • Réduction du risque de perte de contenu ou de fonctionnalité
HTML
    
      <!DOCTYPE html>
      <html lang="en">
        <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>Amélioration progressive</title>
          <style>
            /* Styles de base pour tous les navigateurs */

            body {
              font-family: Arial, sans-serif;
            }

            /* Styles améliorés pour navigateurs modernes */

            @supports (display: grid) {
              .container {
              display: grid;
              grid-template-columns: 1fr 1fr;
              }
            }
          </style>
        </head>
        <body>
          <div class="container">
          <div>Contenu 1</div>
          <div>Contenu 2</div>
          </div>
        </body>
      </html>
    
  

1.3 Flexibilité des mises en page (Fluid Layouts)

La flexibilité des mises en page signifie l'utilisation d'éléments flexibles qui peuvent s'adapter à différentes tailles d'écran. Cela peut inclure l'utilisation de conteneurs flexibles qui ajustent automatiquement leur taille en fonction de la taille de l'écran.

Avantages de la flexibilité des mises en page :

  • Amélioration de l'affichage du contenu sur divers appareils
  • Meilleure adaptation aux changements de taille d'écran
  • Amélioration de l'utilisation et de l'accessibilité du contenu

Exemple :

HTML
    
      <div class="container">
        <div class="item-1">Content item 1</div>
        <div class="item-2">
          Etiam scelerisque lectus nulla, eget convallis orci convallis vel. Etiam sed interdum sem. Nunc vestibulum lectus nibh, in volutpat velit fermentum eget. Mauris in risus tincidunt, sodales odio et, rutrum ligula. In iaculis congue ex in laoreet. Sed id eros porttitor, finibus diam ultrices, consectetur leo. Fusce aliquam, nibh ac sollicitudin viverra, felis libero fringilla orci, nec auctor elit sapien non arcu. Proin dolor mi, iaculis ut velit id, vestibulum consectetur metus. Duis venenatis felis a diam elementum, eget ullamcorper leo scelerisque. Sed tempus euismod urna et tristique. Duis at odio quis libero commodo ullamcorper id vel odio. Maecenas volutpat rhoncus sodales. Mauris eget nunc accumsan, rhoncus massa at, placerat lorem.
          Etiam ullamcorper elementum tellus non euismod. Mauris euismod mi nisi, sed egestas ligula varius sed. Nunc tortor elit, hendrerit sed gravida in, tempus nec augue. Aliquam vitae condimentum velit. Sed id massa ac felis tempor elementum. Aenean at nulla ipsum. Fusce sed cursus tortor. Duis sodales rhoncus eros, non aliquam ante ultricies ut. Pellentesque auctor ultricies aliquet. In laoreet enim dolor, vel consectetur sapien laoreet eu.
          In efficitur pharetra ex convallis egestas. Praesent egestas, sapien fermentum consectetur vestibulum, quam dui pharetra urna, vitae finibus arcu lacus quis mauris. Quisque consectetur lorem sapien, nec pulvinar elit varius vitae. Cras elementum risus lacus, a interdum tellus euismod ac. Interdum et malesuada fames ac ante ipsum primis in faucibus. Maecenas pharetra, odio vel facilisis venenatis, ipsum leo viverra ligula, ut venenatis enim ipsum ut lectus. Fusce cursus mollis congue.
        </div>
        </div>
    
  
CSS
    
      .container {
        width: 100%;
        padding: 20px;
        box-sizing: border-box;
        color: white;
      }

      .item-1 {
        min-height: 50px;
        width: calc(100% / 3);
        float: left;
        background: purple;
      }

      .item-2 {
        background: gray;
      }
    
  

1.4 Hiérarchie du contenu (Content Hierarchy)

La hiérarchie du contenu est importante pour la mise en page responsive car elle aide à organiser l'information de manière à ce qu'elle soit accessible et compréhensible sur n'importe quel appareil. Cela inclut l'utilisation correcte des titres, paragraphes, listes et autres éléments pour créer une structure claire et logique.

Avantages de la hiérarchie du contenu :

  • Amélioration de la lisibilité et de la perception de l'information
  • Amélioration de l'accessibilité du contenu pour tous les utilisateurs
  • Facilité de navigation et d'interaction avec le site

Exemple :

HTML
    
      <!DOCTYPE html>
      <html lang="en">
        <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>Hiérarchie du contenu</title>
          <style>
            body {
              font-family: Arial, sans-serif;
              margin: 20px;
            }

            h1 {
              font-size: 2em;
            }

            h2 {
              font-size: 1.5em;
            }

            p {
              font-size: 1em;
              line-height: 1.5;
            }
          </style>
        </head>
        <body>
          <h1>Titre principal</h1>
          <h2>Sous-titre</h2>
          <p>
            Voici un exemple de paragraphe de texte qui suit le sous-titre.
            Le texte doit être facilement lisible et compréhensible pour tous les utilisateurs.
          </p>
        </body>
      </html>
    
  
1
Mission
Frontend SELF FR, niveau 25, leçon 0
Bloqué
Texte Mobile
Texte Mobile
1
Mission
Frontend SELF FR, niveau 25, leçon 0
Bloqué
Mise en page flexible
Mise en page flexible
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION