W JavaScript tryb orientacji można wykryć za pomocą:
if (window.innerHeight > window.innerWidth) {
portrait = true;
} else {
portrait = false;
}
Czy istnieje jednak sposób na wykrycie orientacji za pomocą tylko CSS?
Na przykład. coś jak:
@media only screen and (width > height) { ... }
browser
css
tablet
media-queries
Francesco
źródło
źródło
ale nadal wygląda na to, że musisz eksperymentować
źródło
Myślę, że musimy napisać bardziej szczegółowe zapytanie o media. Upewnij się, że jeśli napiszesz jedno zapytanie o media, nie powinno to mieć wpływu na inne widoki (Mob, Tab, Desk), w przeciwnym razie może to być problem. Chciałbym zasugerować napisanie jednego podstawowego zapytania o media dla odpowiedniego urządzenia, które obejmuje zarówno widok, jak i jedno zapytanie dotyczące orientacji, aby można było bardziej szczegółowo określić kod dotyczący widoku orientacji, co jest dobrą praktyką. nie musimy pisać jednocześnie zapytań dotyczących orientacji mediów. Możesz odnieść się do mojego poniższego przykładu. Przepraszam, jeśli mój angielski nie jest zbyt dobry. Dawny:
Dla telefonów komórkowych
Do tabletu
Pulpit
spraw, aby zgodnie z wymaganiami projektowymi cieszyć się ... (:
Dzięki, Jitu
źródło
Wybrałbym proporcje, oferuje znacznie więcej możliwości.
Zarówno orientacja, jak i proporcje zależą od rzeczywistego rozmiaru widocznego obszaru i nie mają nic do zrobienia z samą orientacją urządzenia.
Czytaj więcej: https://dev.to/ananyaneogi/useful-css-media-query-features-o7f
źródło
W Javascript lepiej jest używać
screen.width
iscreen.height
. Te dwie wartości są dostępne we wszystkich nowoczesnych przeglądarkach. Podają rzeczywiste wymiary ekranu, nawet jeśli przeglądarka została zmniejszona po uruchomieniu aplikacji.window.innerWidth
zmienia się, gdy przeglądarka jest zmniejszana, co nie może mieć miejsca na urządzeniach mobilnych, ale może się zdarzyć na komputerach PC i laptopach.Wartości
screen.width
iscreen.height
zmieniają się, gdy urządzenie mobilne przełącza się między trybem pionowym i poziomym, więc można określić tryb, porównując wartości. Jeśliscreen.width
jest większy niż 1280px, masz do czynienia z komputerem PC lub laptopem.Możesz skonstruować detektor zdarzeń w JavaScript, aby wykrywać, kiedy te dwie wartości są odwracane. Wartości szerokości ekranu pionowego, na których należy się skoncentrować, to 320 pikseli (głównie iPhone), 360 pikseli (większość innych telefonów), 768 pikseli (małe tablety) i 800 pikseli (zwykłe tablety).
źródło
screen.width
iscreen.height
, gdy iPhone jest obracany. Zawsze zgłasza te same wartości. Musisz użyć tejwindow.orientation
właściwości, aby określić, czy urządzenie zostało obrócone ... (wartość wyniesie 90 lub -90 dla trybu poziomego).