Les Media queries ne fonctionne pas sur mobile
Questions similaires ont été posées ici avant, mais après la lecture grâce à eux, je n'ai pas encore trouvé une réponse qui fonctionne avec mon site.
J'ai construit le site autour de "Bootstrap", mais a ajouté que certains de mes propres requêtes de média. Live site de test est: http://agoodman.com.au
Les articles modifiés par les media queries sont "nos frais" et la "carte" de superposition. Si vous êtes sur un ordinateur portable, le redimensionnement du navigateur qui rend ces sections de l'affichage sous forme de blocs.
Ma feuille de style pour les liens:
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="css/bootstrap.css" rel="stylesheet">
<link href="css/user.css" rel="stylesheet">
"De l'utilisateur.css" est juste un fichier séparé parce que je voulais être en mesure de maintenir et mettre à jour des fichiers d'amorce du cadre principal en tant que de besoin. De l'utilisateur.css remplace les styles dans le bootstrap. Mes médias requêtes de l'utilisateur.les css sont comme suit:
@media screen or handheld(max-width: 979px) {
.fee-buttons {
height: auto;
font-weight: 600;
position: relative;
padding: 0;
margin: 0;
list-style: none;
}
.fee-buttons .transformation {
width: 100% !important;
height: 300px;
position: relative;
z-index: 10;
left:0;
}
.fee-buttons .hourly, .fee-buttons .membership {
float: none;
width: 100% !important;
}
li.button{
overflow:visible;
}
}
@media screen or handheld(max-width: 995px) {
#overlay {
position: relative;
display: block;
width: auto;
right: 0;
padding:1em;
}
}
Comme je l'ai dit, sur les navigateurs de bureau, cela fonctionne bien, mais sur les navigateurs mobiles, il ne fonctionne pas à tous. J'ai testé les deux sur un iPhone 4 (à l'aide de safari) et sur un HTC Desire (en utilisant le stock android navigateur) et les deux affichent de la même manière - en ignorant la requête de média et de simplement afficher le site web complet avec beaucoup de vraiment écrasé et peu flatteuse de contenu.
Toutes les idées sur ce que je fais mal?
EDIT:
Voici des captures d'écran de ce que c'est DEVRAIT ressembler à une petite largeur de l'écran:
Et à quoi il ressemble actuellement sur Android et iPhone, où le dispositif est ignorant mes requêtes de média:
Voici une capture d'écran de ce à quoi il ressemble sur mon téléphone Android: i.imgur.com/PWmbO.png obtenu le même résultat lorsque nous l'avons testé sur un iPhone 4
OriginalL'auteur JVG | 2012-07-25
Vous devez vous connecter pour publier un commentaire.
Désolé de répondre à ma propre question, mais j'ai trouvé quelque chose qui a travaillé.
Il y a une erreur avec la façon dont j'ai créé la requête de média. Au lieu de
@media screen or handheld(max-width: 995px)
J'ai changé la requête de
@media handheld, screen and (max-width: 995px)
comme suggéré par ce mec: https://stackoverflow.com/a/996820/556006
et cela a fonctionné parfaitement sur tous les appareils. Merci à ceux qui ont offert des suggestions, des upvotes à vous tous.
OriginalL'auteur JVG
Cela peut être dû au fait que vos requêtes de média cible de grands écrans avec une largeur de 979 et 995 pixels. Les écrans mobiles sont beaucoup plus petits.
À cibler quelque chose comme un iPhone 4 vous avez besoin d'un
max-width
de960px
(c'est pourquoi initialise par défaut est à 960) pour le paysage et480px
pour le portrait.Puisque vous ne pouvez pas cibler possible toutes les tailles d'écran bootstrap offre raisonnable liste des largeurs par défaut qui vous devez vous en tenir à trop.
max-width: 995px
, ça ne voudrait pas dire que le style intrinsèque va s'appliquer à n'importe quel navigateur, dont la largeur est égale ou inférieure à 995px? C'est ce que je suis en train de réaliser, de sorte que la largeur du navigateur de 1px - 995px transmet la requête de média.Ajout de quelques captures d'écran pour le post initial pour plus de clarté.
Vous avez raison. Le
max-width
dans la requête signifie que tout ce que les plus petits pourront utiliser ce style. Il est intéressant de noter, sur le Bureau de Safari avec une petite largeur de la fenêtre de la page ressemble à votre deuxième capture d'écran.Oui, j'ai remarqué que trop, tout d'un coup. Quand je regarde dans google Chrome, inspecter l'élément, il n'est pas en montrant les médias de la requête de styles de tous. C'est certainement le chargement du droit de la feuille css, donc je ne sais pas ce qu'il se passe. Vous pouvez prendre un coup d'oeil ici: agoodman.com.au/css/utilisateur.css voir quelque chose de mal avec les media queries en bas?
OriginalL'auteur Torsten Walter