Vous pouvez le faire en utilisant la fonction "orientation" du support css. De cette façon, vous pouvez spécifier des styles en fonction de l'orientation de l'écran, sans rapport avec la taille de l'écran. Vous pouvez trouver la définition officielle de w3.org à propos de cette fonctionnalité multimédia here. Combiné avec les spécifications sur developer.mozilla.org cela va expliquer comment cela fonctionne.
Citation de w3.org sur la 'orientation' option pour les médias:
La fonctionnalité multimédia 'd'orientation' est 'portrait' lorsque la valeur de la 'hauteur' fonctionnalité est supérieure ou égale à à la valeur de la fonction de média 'largeur'. Sinon "orientation" est "paysage".
Une note/citation de developer.mozilla.org sur la fonction "d'orientation":
Note: Cette valeur (c.-à-portrait ou paysage) ne fait pas correspondent aux résultats réels orientation du périphérique. Si vous ouvrez le clavier virtuel sur la plupart des périphériques en orientation portrait, la fenêtre sera plus large que haute, ce qui permettra au navigateur d'utiliser les styles paysage au lieu de portrait.
Donc, je le répète, il est en fait l'orientation de l'écran qui déclenche les requêtes des médias portrait ou paysage. Cependant c'est le rapport entre hauteur et largeur de l'écran!Pour cette raison, il est également logique d'utiliser la "fonction d'orientation" avec des appareils non mobiles/tactiles, d'où j'ai ajouté une petite démonstration pour montrer le comportement de ces requêtes de médias.
JSFIDDLE DEMO(essayez de redimensionner le port de vue)
Voici les médias représentatifs questions touchant l'orientation portrait et paysage.
@media screen and (orientation:portrait) {
/* Portrait styles */
/*set width to 100px */
}
@media screen and (orientation:landscape) {
/* Landscape styles */
/* set width to 200px*/
}
+1 cela fonctionne très bien! –
manière simple et élégante .. pouces pour vous! – saadk