Je teste la conception de sites avec deux appareils. Tablette Samsung Galaxy Nexus et Asus Nexus 7. J'ai beaucoup de difficulté à comprendre comment cibler ces périphériques individuels avec des requêtes multimédia. Je ne suis pas sûr des valeurs à utiliser pour max-width
ou à utiliser max-device-width
. De plus, je ne sais pas dans quel ordre placer les requêtes des médias dans ...
Selon: http://responsejs.com/labs/dimensions/
document.documentElement.clientWidth = 360
document.documentElement.clientWidth = 598
document.documentElement.clientWidth = 603
document.documentElement.clientWidth = 966
Je dois cibler les éléments suivants:
J'ai essayé les tests suivants mais je n'ai pas obtenu de bons résultats ... Je ne sais pas trop ce que je fais mal. J'étais un peu en train de jouer avec les chiffres pour essayer de comprendre ce qui fonctionnait ou non ...
/* Galaxy Nexus (portrait and landscape) ----------- */
@media only screen and (min-device-width : 360px) and (max-device-width : 598px) {
ul.top-menu { background: red; }
}
/* Galaxy Nexus (landscape) ----------- */
@media only screen and (min-width : 361px) and (orientation: landscape){
ul.top-menu { background: blue; }
}
/* Galaxy Nexus (portrait) ----------- */
@media only screen and (max-width : 360px) and (orientation: portrait) {
ul.top-menu { background: purple; }
}
/* Nexus 7 (portrait and landscape) ----------- */
@media only screen and (min-device-width : 603px) and (max-device-width : 966px) {
ul.top-menu { background: yellow; }
}
/* Nexus 7 (landscape) ----------- */
@media only screen and (min-width : 604px) and (orientation: landscape) {
ul.top-menu { background: green; }
}
/* Nexus 7 (portrait) ----------- */
@media only screen and (max-width : 603px) and (orientation: portrait) {
ul.top-menu { background: orange; }
}
Et pour votre information, je sais que vous n'êtes pas censé être aussi spécifique, ciblant des périphériques individuels lorsque vous utilisez Responsive Design, mais je le fais principalement pour un test et je dois le faire dans ce cas. Toute aide serait appréciée.
J'ai un Nexus 7 et j'ai essayé votre logiciel. Le problème est que chaque navigateur a une fenêtre d'affichage différente. C'est donc complexe d'avoir un résultat correct.
@media only screen and (device-width : 800px) and (orientation: portrait) {
#device:after {
content: "Nexus 7 - portrait - firefox";
}
}
@media only screen and (width : 603px) and (orientation: portrait) {
#device:after {
content: "Nexus 7 - portrait - chrome";
}
}
@media only screen and (device-width : 1280px) and (orientation: landscape) {
#device:after {
content: "Nexus 7 - landscape - firefox";
}
}
@media only screen and (width : 966px) and (orientation: landscape) {
#device:after {
content: "Nexus 7 - landscape - chrome";
}
}
Je n'ai pas le temps de faire de l'opéra.
Vous pouvez voir le résultat ici avec votre Nexus 7
Pour cibler spécifiquement, vous pouvez utiliser:
@media only screen and (min-width : 600px) and (max-width : 603px) and (orientation: portrait) {
//Your CSS Here
}
Cela aura le lien 7 et si vous avez des requêtes de médias ciblant l'iPhone, elles resteront intactes.
Mozilla/5.0 (Linux; Android 4.4.3; Nexus 7 Build/KTU84L) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.93 Safari/537.36
@media screen
resolution: 192dpi/2dppx
color: 8
-webkit-device-pixel-ratio: 2
orientation: portrait
width: 600px/37.5em/158mm
height: 791px/49.4375em/209mm
device-width: 600px/37.5em/158mm
device-height: 960px/60em/254mm
aspect-ratio: 600/791
device-aspect-ratio: 5/8 or 758/1000
orientation:landscape
width: 960px/60em/254mm
height:431px/26.9375em/114mm
device-width:960px/60em/254mm
device-height:600px/37.5em/158mm
aspect-ratio:960/431
device-aspect-ratio:8/5 or 2227/1000
Mozilla/5.0 (Linux; Android 4.4.2; Nexus 7 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.93 Sfari/537.36
@media screen
resolution: 127dpi/1dppx
color: 8
-webkit-device-pixel-ratio: 1.3312500715255737 or 1.3
orientation: portrait
width: 601px/37.5625em/159mm
height: 881px/55.0625em/207mm
device-width: 601px/37.5625em/159mm
device-height: 962px/60.125em/254mm
aspect-ratio: 601/881
device-aspect-ratio: 601/962
orientation: landscape
width: 962px/60.125em/254mm
height: 529px/33.0625em/114mm
device-width: 962px/60.125em/254mm
device-height: 601px/37.5625em/159mm
aspect-ratio: 962/529
device-aspect-ratio: 962/601 or 2221/1000
Vous devriez essayer d’utiliser un mélange de pouces pour les tailles d’écran et de px pour la densité/l’espace.
Avec cela, vous pouvez avoir une mise en page distincte pour un lien de galaxie ET un lien 7 sans un tas de lignes pour la résolution!
// High end Android device
@media screen and (min-width: 600px) and (max-width: 5in)
{
}
// nexus 7 and ipad mini
@media screen and (min-width: 7in) and (max-width: 9in)
{
}
Voici un article à ce sujet: http://ungeekautourdumonde.com/css3-tablette-desktop-mobile-la-guerre-des-media-queries/
Le code suivant a fonctionné pour moi pour cibler l'onglet Nexus7.
/** Google Nexus7 (Landscape)**/
@media screen and (min-device-width : 601px) and (max-device-width :970px) {}
N'oubliez pas d'ajouter la balise Meta dans votre code HTML. Par exemple,
<meta name="viewport" content="width=device-width"/>