Jeu de tablette de fenêtre d'affichage à 1024px, mobile à l'appareil largeur
J'ai un site responsive avec une largeur de bureau > 980px et un mobile largeur < 768px. Je veux comprimés pour voir le site à un 980px fenêtre d'affichage, mais le mobile de vue de l'appareil largeur.
Plus précisément, je veux la suite:
width = device width
if width >= 768px
viewport = 980px
else
viewport = width
Quelle est la meilleure manière d'aborder ce problème? Je ne veux pas de vérifier le useragent sur le serveur.
OriginalL'auteur Jonathan Ong | 2012-10-13
Vous devez vous connecter pour publier un commentaire.
De ce que je comprends, vous voulez faire cela:
et de ce que j'ai testé, ça marche. (Qui est un peu drôle, parce que la fenêtre est écrit d'après le document "chargé"; vous pouvez voir un petit saut sur l'écran, et YMMV.)
-- EDIT
aujourd'hui je viens d'écrire ce code dans la tête, à l'instar de ce
qui est ce monaca fait, donc je suppose que c'est ok
https://github.com/monaca/monaca.viewport.js/tree/master
ajouter un $(window).resize() et $(window).orientationchange() à faire de même. mais à ce moment, je me demande si le client aura l'honneur de votre changement. clairement les spécifications ne rien dire à propos de la réécriture des fenêtres d'affichage dynamique.
ps .. c'est jquery qui vous n'avez pas nécessairement besoin. ses juste beaucoup moins de frappe.
Il est incroyablement cool que cela fonctionne à tous, mais il est extrêmement hacky à mon humble avis. Vous êtes de changer dynamiquement la fenêtre d'affichage après le document est chargé. Je ne voudrais pas la banque à l'appui de cette méthode pour être cohérent. Ceci étant dit: je vais avec elle pour l'instant 😉
d'accord. je suis aujourd'hui à l'aide de (modifications) de la monaca viewport.js et il en fait de même, mais pas onload - il écrit ces codes dans la tête. beaucoup mieux. permettez-moi de mettre à jour ma réponse...
OriginalL'auteur commonpike
Vous pouvez utiliser un fenêtre d'affichage de la balise meta et CSS media queries pour accomplir cette tâche. Dans votre code HTML:
Dans votre CSS:
JSFiddle ici
Oh, désolé. J'ai mal compris votre question. Vous aurez probablement à utiliser JavaScript pour faire cela, parce que la première échelle dépend de la taille de la fenêtre d'affichage.
OriginalL'auteur nathan
utiliser ceci:
en css
le reste css: recherche des requêtes de média 😉
Si vous avez un appareil mobile, de la largeur du conteneur est de 100% entière. Mais dans le pc est le maximum de la largeur de 1024px. De sorte que vous pouvez concevoir le reste de votre conception avec les css. Cela ne nécessite pas de javascript ou d'un plugin.
OriginalL'auteur It-Is So-Fluffy
Ajuster en conséquence. Essentiellement, ce code constitue un plafond et un plancher pour que "au milieu" de l'appareil (comme une tablette).
Vous pouvez serrer cette fenêtre pour forcer le bureau CSS, ou plus, en faisant quelque chose comme:
Côté de faire quelque chose comme cela, vous allez avoir à "renifler" le dispositif, qui rappellent les années 90 (omi -- n'étaient pas ceux les jours?), ou utiliser la fenêtre d'affichage des méta données.
@media width: 768px
.OriginalL'auteur Dawson
Considérant qu'un appareil mobile (pas une tablette) a une diminution significative de la fenêtre d'affichage de 768, pourquoi ne pas simplement mettre à jour votre requête de média pour appliquer la modification à une taille plus petite? c'est à dire:
De cette façon, votre téléphone styles ne sont appliqués que pour les appareils de petite taille avec une largeur maximale de 480px.
Votre site de bureau (et maintenant la tablette) site sera toujours visible au-dessus de ces résolutions.
Pouah était ivre et sélectionné comme réponse. Oublié que l'iPad ne parvenez toujours pas à le voir comme 1024px.
À ce stade, je pense que je l'aurais regarder votre code pour voir ce que tu veux dire.
parce que @media largeur des requêtes dépendent de la fenêtre d'affichage. fenêtre d'affichage est fixée à l'appareil de largeur. appareil ipad largeur est 768px. je veux l'ipad pour l'afficher en 1024px. ce n'est pas faire ça.
OriginalL'auteur Joe Cochran
Pourriez-vous utiliser Twitter bootstrap échafaudage CSS? Ils ont pré-construit des médias classes que vous pouvez modifier un peu.
http://twitter.github.com/bootstrap/scaffolding.html
Je pense que cette partie s'applique plus à ce que vous parlez
À ce stade, vous pouvez utiliser des paramètres pour définir le fluide span largeurs de quelque chose comme ci-dessous
Remarque: etant donné que vous allez à l'aide d'une largeur de colonne fixe la div sera pas mise à l'échelle au-dessus de la correction de la largeur de colonne.
OriginalL'auteur zmanc
J'ai aussi le faire à chaque fois qu'un client veut un réactif version mobile, mais pour conserver la valeur par défaut de mise à l'échelle en place sur quelque chose de plus grand - il n'y a vraiment pas grand chose sur le web re: le réglage de la fenêtre d'affichage de la balise différemment pour différentes tailles d'écran, donc l'utilisation de JS semble toujours être la meilleure option. - Je spécifier un non réactif largeur de visualisation par défaut, par exemple
puis exécutez le code suivant dans la dès que possible (c'est à dire immédiatement après jQuery a été chargé, mais PAS emballé par jQuery .prêt() fonction ou quelque chose d'équivalent, comme la fenêtre.l'écran de la propriété semble être exacte et disponible immédiatement. Cela peut éviter la légère sauter sur les mobiles qui pourraient se produire si le code a été exécuté plus tard):
OriginalL'auteur Kyle Duncan
---------------------------scall support de table-------------
cette fonction sur le support de javascript tablette
OriginalL'auteur Sok Sopheak
Vous pouvez utiliser ce code dans la balise head
et ensuite utiliser ce style pour appareil mobile
lorsque vous utilisez ce code dans la balise head,lorsque l'utilisateur a visité le site,page fixe avec sa largeur de taille,par exemple si l'ipad largeur 767px,lorsque l'utilisateur a visités par ipad,ipad style de charge et voir site
je veux de l'ipad à vue à 1024px, indépendamment de l'orientation
Au lieu o 767 tu px utiliser 1024px,meilleures salutations
ouais... il est clair que vous n'obtenez pas mon problème.
OriginalL'auteur Saeed