Articles

Requêtes de médias CSS : largeur versus largeur de l’appareil

Posted on

largeur versus largeur de l’appareil

Dans les médias CSS, la différence entre width et device-width peut être un peu confuse, alors développons un peu cela. device-width fait référence à la largeur de l’appareil lui-même, en d’autres termes, à la résolution de l’écran de l’appareil. Disons que la résolution de votre écran est de 1440 x 900. Cela signifie que l’écran a une largeur de 1440 pixels, donc une device-width de 1440px. La plupart des téléphones mobiles ont une largeur d’appareil de 480px ou moins, y compris le populaire iPhone 4 (avec une largeur d’appareil de 320px), bien qu’il ait techniquement une résolution de 640 x 960. Cela est dû à l’affichage rétina de l’iPhone 4, qui fait entrer deux pixels de l’appareil dans chaque pixel CSS de l’écran. C’est également vrai pour l’Ipad 3 ; son device-width rapporté est de 768px tout comme ses prédécesseurs, même si sa résolution d’écran réelle est de 1536px x 2048px. En général, width est plus polyvalent lorsqu’il s’agit de créer des pages Web réactives, bien que device-width soit utile lorsque vous souhaitez cibler spécifiquement les appareils mobiles (et non les ordinateurs de bureau avec une petite fenêtre de navigateur par exemple), car les ordinateurs de bureau ont rarement des résolutions d’écran inférieures à un certain nombre comme 320px x 480px.

Le tableau ci-dessous indique la résolution d’écran et les dimensions des dispositifs médias CSS de certains des appareils populaires existants :

Dimensions du média CSS
Appareil résolution (px) device-width/ device-height (px)
iPhone 320 x 480 320 x 480, en mode portrait et paysage
iPhone 4 640 x 960 320 x 480, en mode portrait et paysage. device-pixel-ratio est 2
iPhone 5, 5s 640 x 1136 320 x 568, en mode portrait et paysage. device-pixel-ratio est 2
iPhone 6 750 x 1334 375 x 667, en mode portrait et paysage. device-pixel-ratio est 2
iPhone 6 plus 1242 x 2208 414 x 736, en mode portrait et paysage. device-pixel-ratio est 3
iPad 1 et 2 768 x 1024 768 x 1024, en mode portrait et paysage
iPad 3 1536 x 2048 768 x 1024, en mode portrait et paysage

La densité de pixels CSS est de 2

Samsung Galaxy S I et II 480 x 800 320 x 533, en mode portrait

La densité de pixels est de 1.5

Samsung Galaxy S III 720 x 1280 360 ? x 640 ?, en mode portrait
HTC Evo 3D 540 x 960 360 x 640, en mode portrait

La densité de pixels du CSS est de 1.5

Amazon Kindle Fire 1024 x 600 1024 x 600, mode paysage

Pour compliquer encore plus les choses, sur les appareils iPhone et iPad, la largeur de l’appareil correspond toujours à la largeur de l’appareil en mode portrait, que l’appareil soit dans ce mode ou plutôt en mode paysage. Avec les autres appareils, sa device-width change en fonction de son orientation.

* Pour une liste plus complète des appareils et de leurs résolutions d’écran, visitezcette page.

Voyons maintenant quelques requêtes médias CSS supplémentaires qui capturent différents appareils et dimensions d’écran :

/* #### Téléphones mobiles Portrait #### */
@media screen and (max-device-width : 480px) and (orientation : portrait){
/* some CSS here */
}
/* #### Téléphones mobiles Paysage #### */
@media screen and (max-device-width : 640px) and (orientation : landscape){
/* some CSS here */
}
/* #### Mobile Phones Portrait or Landscape #### */
@media screen and (max-device-width : 640px){
/* some CSS here */
}
/* #### iPhone 4+ Portrait or Landscape #### */
@media screen and (min-device-width : 320px) and (-webkit-min-device-pixel-ratio : 2){
/* some CSS here */
}
/* #### iPhone 5 Portrait or Landscape #### */
@media (device-height : 568px) and (device-width : 320px) and (-webkit-min-device-pixel-ratio : 2){
/* quelques CSS ici */
}
/* #### iPhone 6 et 6 plus Portrait ou Paysage #### */
@media (min-device-height : 667px) and (min-device-width : 375px) and (-webkit-min-device-pixel-ratio : 3){
/* some CSS here */
}
/* #### Tablets Portrait or Landscape #### */
@media screen and (min-device-width : 768px) and (max-device-width : 1024px){
/* some CSS here */
}
/* #### Desktops #### */
@media screen and (min-width : 1024px){
/* some CSS here */
}

Donc nous avons maintenant une assez bonne idée sur l’utilisation des media queries CSS. Cependant, il y a une autre pièce importante du puzzle dont nous avons besoin pour que tout fonctionne comme prévu, et c’est la balise viewport meta.

  • Introduction aux requêtes média CSS
  • La largeur par rapport à la largeur de l’appareil
  • La balise méta viewport – la clé pour préparer une page pour l’optimisation des appareils mobiles
  • La correspondance des requêtes média CSS en JavaScript en utilisant window.matchMedia()

La métabalise viewport- la clé pour préparer une page pour l’optimisation des appareils mobiles

.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *