En JavaScript, le mode d'orientation peut être détecté en utilisant:
if (window.innerHeight > window.innerWidth) {
portrait = true;
} else {
portrait = false;
}
Cependant, existe-t-il un moyen de détecter l'orientation en utilisant uniquement CSS?
Par exemple. quelque chose comme:
@media only screen and (width > height) { ... }
browser
css
tablet
media-queries
Francesco
la source
la source
mais il semble toujours que vous deviez expérimenter
la source
Je pense que nous devons écrire une requête média plus spécifique. Assurez-vous que si vous écrivez une requête multimédia, cela ne devrait pas avoir d'effet sur une autre vue (Mob, Tab, Desk) sinon cela peut être un problème. Je voudrais suggérer d'écrire une requête multimédia de base pour le périphérique respectif qui couvre à la fois la vue et une requête multimédia d'orientation que vous pouvez spécifier plus en code sur la vue d'orientation, c'est pour une bonne pratique. nous n'avons pas besoin d'écrire les deux requêtes d'orientation des médias en même temps. Vous pouvez consulter mon exemple ci-dessous. Je suis désolé si mon écriture en anglais n'est pas très bonne. Ex:
Pour mobile
Pour tablette
Bureau
faire selon vos exigences de conception profiter ... (:
Merci, Jitu
la source
J'opterais pour le rapport hauteur / largeur, il offre beaucoup plus de possibilités.
Les deux, l'orientation et le rapport hauteur / largeur dépendent de la taille réelle de la fenêtre et n'ont rien à voir avec l'orientation de l'appareil elle-même.
En savoir plus: https://dev.to/ananyaneogi/useful-css-media-query-features-o7f
la source
En Javascript, il est préférable d'utiliser
screen.width
etscreen.height
. Ces deux valeurs sont disponibles dans tous les navigateurs modernes. Ils donnent les dimensions réelles de l'écran, même si le navigateur a été réduit lorsque l'application se déclenche.window.innerWidth
change lorsque le navigateur est réduit, ce qui ne peut pas se produire sur les appareils mobiles, mais peut se produire sur les PC et les ordinateurs portables.Les valeurs de
screen.width
etscreen.height
changent lorsque l'appareil mobile bascule entre les modes portrait et paysage, il est donc possible de déterminer le mode en comparant les valeurs. Siscreen.width
est supérieur à 1280px, vous avez affaire à un PC ou un ordinateur portable.Vous pouvez créer un écouteur d'événement en Javascript pour détecter le moment où les deux valeurs sont inversées. Les valeurs de largeur de l'écran portrait sur lesquelles se concentrer sont 320px (principalement les iPhones), 360px (la plupart des autres téléphones), 768px (petites tablettes) et 800px (tablettes ordinaires).
la source
screen.width
etscreen.height
lorsque l'iPhone est tourné. Il rapporte toujours les mêmes valeurs. Vous devez utiliser lawindow.orientation
propriété pour déterminer si l'appareil a été tourné ... (la valeur sera 90 ou -90 pour le mode paysage.)