No JavaScript, o modo de orientação pode ser detectado usando:
if (window.innerHeight > window.innerWidth) {
portrait = true;
} else {
portrait = false;
}
No entanto, existe uma maneira de detectar a orientação usando apenas CSS?
Por exemplo. algo como:
@media only screen and (width > height) { ... }
browser
css
tablet
media-queries
Francesco
fonte
fonte
mas ainda parece que você precisa experimentar
fonte
Acho que precisamos escrever uma consulta de mídia mais específica. Certifique-se de que se você escrever uma consulta de mídia, isso não afetará outra visualização (Mob, Tab, Desk), caso contrário, poderá haver problemas. Gostaria de sugerir que você escreva uma consulta de mídia básica para o respectivo dispositivo, que abrange tanto a consulta quanto a consulta de mídia de orientação, que você pode codificar mais sobre orientação de exibição por boas práticas. Não precisamos escrever as duas consultas de orientação à mídia ao mesmo tempo. Você pode consultar o meu exemplo abaixo. Sinto muito se minha escrita em inglês não é muito boa. Ex:
Para dispositivos móveis
Para Tablet
Área de Trabalho
faça conforme sua exigência de projeto desfrutar ... (:
Obrigado, Jitu
fonte
Eu iria para a proporção, oferece muito mais possibilidades.
Tanto a orientação quanto a proporção dependem do tamanho real da viewport e não têm nada a ver com a própria orientação do dispositivo.
Leia mais: https://dev.to/ananyaneogi/useful-css-media-query-features-o7f
fonte
Em Javascript é melhor usar
screen.width
escreen.height
. Esses dois valores estão disponíveis em todos os navegadores modernos. Eles fornecem as dimensões reais da tela, mesmo que o navegador tenha sido reduzido quando o aplicativo é iniciado.window.innerWidth
muda quando o navegador é reduzido, o que não pode acontecer em dispositivos móveis, mas em PCs e laptops.Os valores
screen.width
escreen.height
mudam quando o dispositivo móvel alterna entre os modos retrato e paisagem, portanto, é possível determinar o modo comparando os valores. Sescreen.width
for maior que 1280px, você está lidando com um PC ou laptop.Você pode construir um ouvinte de evento em Javascript para detectar quando os dois valores são invertidos. Os valores de largura de tela de retrato para se concentrar são 320px (principalmente iPhones), 360px (a maioria dos outros telefones), 768px (tablets pequenos) e 800px (tablets comuns).
fonte
screen.width
escreen.height
quando o iPhone é girado. Ele sempre informa os mesmos valores. Você deve usar awindow.orientation
propriedade para determinar se o dispositivo foi girado ... (o valor será 90 ou -90 para o modo paisagem.)