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
-
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">
-
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) {
}
-
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;
}
-
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;
}
-
Adapter le main
main {
width: 100%;
}
-
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;
}