2012-01-23 2 views
7

Je me demande pourquoi certaines de mes requêtes média ne remplacent pas les styles natifs du port d'affichage. J'essaie de restyler un menu de manière responsive, de l'empiler et d'avoir la taille de la zone de navigation plus longue dans un thème WP. Mais dans tous les cas, j'ajoute les spécifications que je crée pour obtenir cet effet en éditant Live CSS dans Safari ou FF inspect element - les styles que j'insère sous la fenêtre spécifique que je cible ne sont pas lus. Je sais que j'utilise correctement les requêtes média car il lit les nouveaux styles, ne remplace pas natif? Il me manque quelque chose ici? Voici ce que j'essaie d'ajouter qui ne lira pas.Les requêtes média ne remplacent pas les styles natifs?

@media only screen and (min-device-width: 320px) and (max-device-width: 480px) { 

#access li { 
    float: none; // To translate to not to float to the left stack 
    position: relative; 
} 

#access { 
    background: url("http://testsite.com/wp-content/uploads/2012/01/menu_bg.gif") repeat scroll 0 0 transparent; 
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4); 
    clear: both; 
    display: block; 
    float: left; 
    height: 240px; //Changed the height to allow stack 
    width: 100%; 
} 

Edit: Voici le COMPLET ensemble de styles Responsive j'appelle, si les choses.

/* =Responsive Structure 
----------------------------------------------- */ 

@media (max-width: 800px) { 
    body { 
     padding: 0; 
    } 
    #page { 
     margin-top: 0; overflow: hidden; 
    } 
    #branding { 
     border-top: none; 
    } 
     #signup { display:none; } 
     #adbox { display:none; } 
     #adbox2 { display:none; } 
     #socialpost { margin-left: -100px; } 
     p {font-size: 12px; } 
     #sublogo { display: none; } 
     #footcontain { padding-left: 0;} 

     #access a { 
     color: #000000; 
     display: block; 
     font-family: arial; 
     line-height: 3.11em; 
     padding: 0 20px; 
     text-decoration: none; 
     #access a { font-size: 12px; } 

     #access li { 
     float: left; 
     margin-left: -28px; 
     position: relative; } 
} 

@media (max-width: 650px) { 
    /* @media (max-width: 650px) Reduce font-sizes for better readability on smaller devices */ 
    body { 
     padding: 0; 
    } 
    #page { 
     margin-top: 0; 
    } 
    #branding { 
     border-top: none; 
    } 
     #signup { display:none; } 
     #adbox { display:none; } 
     #adbox2 { display:none; } 
     p {font-size: 12px; } 
     #sublogo { display: none; } 

     #access a { 
     color: #000000; 
     display: block; 
     font-family: arial; 
     line-height: 3.11em; 
     padding: 0 13px; 
     text-decoration: none; 
     font-size: 11px;} 
     #footcontain { padding-left: 0;} 
     #access a { 
     padding: 0 15px; } 

} 

@media (max-width: 450px) { 
     #content .gallery-columns-2 .gallery-item { 
    width: 45%; 
    padding-right: 4%; 
    } 
    #content .gallery-columns-2 .gallery-item img { 
     width: 100%; 
     height: auto; 
    } 
     #signup { display:none; } 
     #adbox { display:none; } 
     #adbox2 { display:none; } 
     p {font-size: 10px; } 

     .entry-content, .entry-summary { 
     padding: 1.625em 0 0; 
     width: 48%; } 
     #footcontain { padding-left: 0;} 

     #branding #s { 
     -moz-transition-duration: 400ms; 
     -moz-transition-property: width, background; 
     -moz-transition-timing-function: ease; 
     float: right; 
     height: 35px; 
     width: 47px; } 

     .widget-title { margin-top: 35px; } 

     .flexslider .slides img { 
     border: 0 none; 
     display: block; 
     max-width: 100%; 
     padding-bottom: 25px; } 
     #footcontain { display:none;} 

     #access li { 
     float: none; 
     position: relative; 
     } 

     #access { 
     height: 70px; 
     } 

     #access a { 
     color: #000000; 
     display: block; 
     font-family: arial; 
     font-weight: bolder; 
     line-height: 3.11em; 
     padding: 0 10px; 
     text-decoration: none; 
     } 

     #access ul { 
     font-size: 10px; 
     list-style: none outside none; 
     margin: 0 0 0 -80px; 
     padding-left: 0; 
     } 

     .flex-control-nav { display: none; } 
     .flexslider { 
     margin: 0 0 67px; } 
     .flex-caption { display: none; } //Could Display this here, need to make take half of slider 

} 

@media only screen and (min-device-width: 320px) and (max-device-width: 480px) { 
    body { padding: 0; } 

     #access { 
     height: 70px; 
     } 

    #page { 
     margin-top: 0; overflow: hidden; 
    } 
    #branding { 
     border-top: none; 
    } 
     #signup { display:none; } 
     #adbox { display:none; } 
     #adbox2 { display:none; } 
     p {font-size: 10px; } 
     #sublogo { display: none; } 
     #access a { padding: 0 10px; } 

     #access li { 
     float: none; 
     position: relative; 
     } 

     .entry-content, .entry-summary { 
     padding: 1.625em 0 0; 
     width: 35%; } 
     #footcontain { display: none; } 

     #branding #s { 
     -moz-transition-duration: 400ms; 
     -moz-transition-property: width, background; 
     -moz-transition-timing-function: ease; 
     float: right; 
     height: 35px; 
     width: 47px; } 

     #footcontain { display: none; } 

     .widget-title { margin-top: 35px; } //Attempt to Create Space for Slider Page Nation 
     #access { height: 70px; } 

     #access li { 
     float: none; 
     position: relative; 
     } 

     .flex-control-nav { display: none; } 

     .flex-caption { display: none; } //Could Display this here, need to make take half of slider, check 
     .flexslider { 
     margin: 0 0 67px; } 

} 
+1

Vous dites que cela ne fonctionne pas, mais avez-vous réellement testé cela sur un appareil? Vous avez seulement mentionné qu'il n'écrasait pas les styles dans Chrome ou Firefox - en général je pense que 'min-device-width' ne fonctionne que sur un appareil et non sur un "navigateur de bureau". – MonkeyCoder

+0

Grand point. Mais j'ai testé en utilisant 'Safari Resizer' - qui m'a été dit était identique à l'iPad à des résolutions correctes. Et aussi utilisé des émulateurs populaires comme iPadpeek. Ceux-ci devraient être assez précis non? –

+0

Je pense que 'Safari Resizer' n'affecte que la résolution du navigateur et vous permet de créer des 'préréglages personnalisés' et ne change pas la façon dont' Media Queries' sont interprétées, veuillez vérifier ma réponse – MonkeyCoder

Répondre

8

Le code CSS de votre poste ne fonctionne pas parce qu'il est un style spécifique à l'appareil et vous visualisez sur un Safari, Chrome ou Firefox en utilisant un ordinateur portable/de bureau. Vous oubliez que Media Queries vous donne la possibilité d'appliquer différents styles lorsqu'une page est affichée dans un 'navigateur' - redimensionnée à 480px et sur un iPhone (qui a une largeur de périphérique maximale de 480px).

Exemple CSS:

/* max-width */ 
@media screen and (max-width: 480px) { 
    .one { 
     background: #F9C; 
    } 
} 

/* min-width & max-width */ 
@media screen and (min-width: 480px) and (max-width: 900px) { 
    .two { 
     background: #9CF; 
    } 
} 

/* min-width */ 
@media screen and (min-width: 900px) { 
    .three { 
     background: #F90; 
    } 
} 

/* iphone specific css */ 
@media screen and (max-device-width: 480px) { 
    .iphone { 
     background: #ccc; 
    } 
} 

Dans l'exemple ci-dessus, vous pouvez cibler à la fois et ont toujours un style distinct pour votre appareil de choix. Si vous voulez le tester dans un browser il suffit d'utiliser les propriétés min-width ou max-width.

Espérons que cela aide.

1

Sur l'exemple en haut, il y a un support de fermeture manquant.

@media only screen and (min-device-width: 320px) and (max-device-width: 480px) { 

    #access li { 
    float: none; // To translate to not to float to the left stack 
    position: relative; 
    } 

    #access { 
    background: url("http://testsite.com/wp-content/uploads/2012/01/menu_bg.gif") repeat scroll 0 0 transparent; 
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4); 
    clear: both; 
    display: block; 
    float: left; 
    height: 240px; //Changed the height to allow stack 
    width: 100%; 
    } 
} 
+1

Merci, c'est ce que je pensais à l'origine aussi. C'est juste comme ça que je l'ai collé dans SO. J'ai édité la question en incluant tous mes styles de médias d'attente maintenant - et ne semble pas avoir raté une parenthèse. –

Questions connexes