Toutes ces réponses énumérés ci-dessus, que l'utilisation max-device-width
ou max-device-height
pour questions des médias, souffrent d'une très forte bug: ils visent beaucoup d'autres appareils mobiles populaires (probablement non désirées et de ne jamais testé, ou qui a frappé le marché à l'avenir).
Cette requêtes de travail pour n'importe quel appareil qui a un écran plus petit, et probablement votre conception sera brisé.
Combiné avec un appareil similaire spécifiques des requêtes de média (HTC, Samsung, IPod, Nexus...) cette pratique va lancer une bombe à retardement. Pour debigging, cette idée peut rendre votre CSS incontrôlée spagetti. Vous ne pouvez jamais tester tous les périphériques possibles.
S'il vous plaît être conscient que la seule requête des médias toujours de ciblage de l'IPhone5 et rien d'autre, est:
/* iPhone 5 Retina regardless of IOS version */
@media (device-height : 568px)
and (device-width : 320px)
and (-webkit-min-device-pixel-ratio: 2)
/* and (orientation : todo: you can add orientation or delete this comment)*/ {
/*IPhone 5 only CSS here*/
}
Notez que exacte de la largeur et de la hauteur, de ne pas max-width est vérifié ici.
Maintenant, quelle est la solution? Si vous voulez écrire une page web qui semblent bonnes sur tous les périphériques possibles, la meilleure pratique est pour vous l'utilisation de la dégradation
/* la dégradation modèle
nous sommes à la vérification de la largeur de l'écran seulement
bien sûr, ce qui changera, c'est le tournant du mode portrait au mode paysage*/
/*css for desktops here*/
@media (max-device-width: 1024px) {
/*IPad portrait AND netbooks, AND anything with smaller screen*/
/*make the design flexible if possible */
/*Structure your code thinking about all devices that go below*/
}
@media (max-device-width: 640px) {
/*Iphone portrait and smaller*/
}
@media (max-device-width: 540px) {
/*Smaller and smaller...*/
}
@media (max-device-width: 320px) {
/*IPhone portrait and smaller. You can probably stop on 320px*/
}
Si plus de 30% de vos visiteurs de site web viennent de mobile, tournez à ce régime à l'envers, en fournissant mobiles-première approche. Utiliser min-device-width
dans ce cas. Cela permettra d'accélérer la page web de rendu pour les navigateurs mobiles.