Créer la feuille de style Responsive

il faut distinguer la taille effective des écrans en pixels et la surface utilisée en CSS

Tableau des valeurs CSS de quelques écrans :
name CSS width CSS height
Apple iPhone 7 375 667
Apple iPhone 6 Plus, 6s Plus 414 736
Apple iPhone 6, 6s 375 667
Apple iPhone 5 320 568
Apple iPod Touch 320 568
LG G5 360 640
LG G4 360 640
LG Optimus G 384 640
Samsung Galaxy S7, S7 edge 360 640
Samsung Galaxy S6 360 640
Samsung Galaxy S5 360 640
Samsung Galaxy S4 360 640
Samsung Galaxy S4 mini 360 640
Samsung Galaxy Nexus 360 600
Samsung Galaxy Note 4 360 640
Samsung Galaxy Note 400 640
LG Nexus 5 360 640
LG Nexus 4 384 640
Microsoft Lumia 1520 432 768
Microsoft Lumia 1020 320 480
Microsoft Lumia 925 320 480
Microsoft Lumia 920 320 480
Motorola Nexus 6 412 690
HTC One 360 640
HTC 8X 320 480
HTC Evo 3D 360 640
Sony Xperia Z3 360 598
Sony Xperia Z 360 640
Xiaomi Mi 4 360 640
Xiaomi Mi 3 360 640
Lenovo K900 360 640
Pantech Vega n°6 360 640
Blackberry Leap 390 695
Blackberry Passport 504 504
Blackberry Classic 390 390
Blackberry Q10 346 346
Blackberry Z30 360 640
Blackberry Z10 384 640
Blackberry Torch 9800 360 480
ZTE Grand S 360 640
ZTE Open (Firefox OS) 320 480

Création de la Media query

  1. Définir le viewport
    Dans le head de la page :
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=2.0">
  2. Créer le fichier CSS
    Il avait été créé auparavant, on y fait une déclaration pour une largeur maximale de 768px qui est le point de rupture entre smartphones et tablettes.
    Entre les deux accolades, on écrira tous les styles.
    @media (max-width: 768px) {
    
    }
  3. Réinitialiser des élements
        body {
            width: auto !important;
            margin: 0;
            padding: 0;
        }
    	/* fixer une largeur maximale de 100% aux éléments potentiellement problématiques */
        img,
        table,
        td,
        blockquote,
        code,
        pre,
        textarea,
        input,
        iframe,
        object,
        embed,
        video {
            max-width: 100%;
        }
        
        /* conserver le ratio des images */
    
        img {
            height: auto;
        }
  4. Ajuster la bannière, son texte et le call to action
    On substitue à l'ancienne image de fond une plus adaptée. Il faut ajouter le mot-clef !important pour forcer la règle
           #banner {
    		width: 100%;
    		height: 188px;
    		margin-bottom: 1em;
    		background-image: url(../images-site/bandeau-banniere-smartphone.jpg) !important; 
                  background-repeat: no-repeat !important; background-size: cover;
    	}

    Figure: Le changement de fond de la banniere



    #banner h1 {
    		padding-top: 3em;
    		font-size: 1.4em;
    	}
    	#banner h2 {
    		width: 65%;
    		margin: 0 auto;
    		line-height: 1;
    		font-size: 1.2em;
    	}

    Figure: Le titre et le call to action



  5. Adapter le main
    main {
    	width: 100%;
    	}

    Figure: le bandeau de bracelet est automatiquement ajusté à 100% sur la largeur



  6. Modules découvertes
    On change la direction en passant en vertical la distribution du flex et chaque module a une largeur de 100%.
    section#contenu {
    	flex-direction: column;
    	}
    	article.module1, article.module2, .module3 {
    		width: 100% !important;
    	}