Nous développons une nouvelle interface utilisateur pour un de nos produits et pour un certain nombre de raisons, nous avons besoin de basculer entre deux balises <div>
selon que l'appareil soit mobile ou de bureau. Chaque <div>
contiendra le contenu approprié pour mobile ou de bureau, mais parce que nous avons seulement une seule page HTML, nous avons besoin de la possibilité d'activer un <div>
tout en désactivant l'autre.bascule entre deux DIVs en fonction de la résolution d'écran en utilisant CSS
Cette question fait suite à this SO question qui est très similaire à ce que je demande ici. Pour récapituler la solution s'y trouve, il y a deux <div>
s:
<div class="visible-phone">
content for phone
</div>
<div class="visible-desktop">
content for desktop
</div>
et il y a deux règles CSS qui emploient soit la résolution de l'écran maximum ou minimum:
.visible-phone{
@media (max-width: 480px) { more css }
}
.visible-desktop{
@media (min-width: 768px) { more css }
}
Pour arriver au point, envisager un appareil avec une largeur minimale de 700px et une largeur maximale de 900px. Cela tomberait à travers les fissures de la logique CSS ci-dessus et n'entraînerait aucun <div>
visible. Un autre exemple, un appareil allant de 500px à 750px ne serait pas non plus couvert.
Quelqu'un peut-il suggérer une approche complète pour éviter la faiblesse de la réponse référencée? Des solutions basées sur CSS seraient préférables ici.
Ajoutez une requête multimédia pour la plage intermédiaire et décidez du contenu à afficher (ou créez un contenu supplémentaire pour les tablettes). – Paul
@Paul C'est une idée intelligente, mais laissez-moi jouer le défenseur du diable. Supposons que nous ayons ajouté (480, 768) comme troisième requête média. Mais maintenant, un appareil qui va de (450, 700) ne serait pas couvert. Celui qui a concocté cette question de médias a clairement apprécié le tourment mental :-) –
Pourquoi cela ne serait-il pas couvert? En fonction de divers facteurs, il montrera juste différents 'div's, par exemple lors de la rotation du mode portrait (450) au mode paysage (700). – Paul