Quero mostrar meu site apenas no modo paisagem, é possível? Não importa a orientação do dispositivo na mão do usuário, mas o site sempre estará no modo paisagem. Eu vi um aplicativo para iPhone funcionando assim, mas isso pode ser feito para um site?
javascript
html
mobile-browser
coure2011
fonte
fonte
Respostas:
@Golmaal realmente respondeu isso, estou apenas sendo um pouco mais prolixo.
<style type="text/css"> #warning-message { display: none; } @media only screen and (orientation:portrait){ #wrapper { display:none; } #warning-message { display:block; } } @media only screen and (orientation:landscape){ #warning-message { display:none; } } </style> .... <div id="wrapper"> <!-- your html for your website --> </div> <div id="warning-message"> this website is only viewable in landscape mode </div>
Você não tem controle sobre o usuário movendo a orientação, no entanto, você pode pelo menos enviar uma mensagem a ele. Este exemplo irá ocultar o invólucro se estiver no modo retrato e mostrar a mensagem de aviso e, em seguida, ocultar a mensagem de aviso no modo paisagem e mostrar o retrato.
Não acho que essa resposta seja melhor do que @Golmaal, apenas um elogio a ela. Se você gostou desta resposta, certifique-se de dar o crédito a @Golmaal.
Atualizar
Tenho trabalhado muito com o Cordova recentemente e descobri que você PODE controlá-lo quando tem acesso aos recursos nativos.
Outra atualização
Então, depois de lançar Cordova, é realmente terrível no final. É melhor usar algo como React Native se você quiser JavaScript. É realmente incrível e sei que não é pura web, mas a experiência pura da web em dispositivos móveis meio que falhou.
fonte
orientation
propriedade do grupo condicional.Enquanto eu mesmo estaria aqui esperando uma resposta, me pergunto se isso pode ser feito via CSS:
@media only screen and (orientation:portrait){ #wrapper {width:1024px} } @media only screen and (orientation:landscape){ #wrapper {width:1024px} }
fonte
Tente isto Pode ser mais apropriado para você
#container { display:block; } @media only screen and (orientation:portrait){ #container { height: 100vw; -webkit-transform: rotate(90deg); -moz-transform: rotate(90deg); -o-transform: rotate(90deg); -ms-transform: rotate(90deg); transform: rotate(90deg); } } @media only screen and (orientation:landscape){ #container { -webkit-transform: rotate(0deg); -moz-transform: rotate(0deg); -o-transform: rotate(0deg); -ms-transform: rotate(0deg); transform: rotate(0deg); } }
<div id="container"> <!-- your html for your website --> <H1>This text is always in Landscape Mode</H1> </div>
Isso irá gerenciar automaticamente a rotação uniforme.
fonte
Tive que brincar com as larguras dos meus contêineres principais:
html { @media only screen and (orientation: portrait) and (max-width: 555px) { transform: rotate(90deg); width: calc(155%); .content { width: calc(155%); } } }
fonte