2011-01-26 20 views
8

私はウェブサイトのモバイル版を構築しています。この特定のケースでは、水平レイアウトで完全に見えるでしょう。ユーザーの設定にかかわらずこのレイアウトを強制する方法はありますか?モバイルデバイスに水平/水平レイアウトを強制する方法はありますか?

普遍的な答えはありがたいですが、特定のプラットフォーム(iPhone、Androidなど)でこれを達成する方法を知っていれば、大部分のモバイルユーザーをターゲットにしたまともなルールを集めることもできます。

答えて

9

これを達成するためのハックがありますが、私は真剣にそれを使用することをお勧めします。あなたのデザインは誰かが縦長モードか横長モードかに適応する必要があります。

ステップ1:あなたは風景やポートレートモードにいるかどうかを確認するためにwindow.orientationプロパティを照会

ステップ2:あなたは、ポートレートモードにしている場合はdiv要素に-webkit-変換回転(-90)を使用しますそれはあなたのページ全体を横向きのレイアウトに強制するためのものです。

ブラウザのUIはまだポートレートモードになっていますが、コンテンツを表示するために携帯電話を横向きに戻すことになっていると思われます。これはユーザーにとって信じられないほど厄介なことです。あなたのサイトをポートレートモードで読み込もうとしている理由はおそらくあります。あなたの<頭>

<meta name="viewport" content="width=480"> 

彼/彼女は風景の中に回転させる必要のあるユーザーを合図になる縦モードでの水平スクロールバーの存在のために、このメタを追加

+0

ありがとうございます。これは避けたいと私は絶対に同意します、私はただ手にルールを確認する例外があります。 – CodeVirtuoso

+1

私が取り組んでいたプロジェクトでこれを実装しましたが、結果は良くありませんでした。できれば、これから離れてください。これはUI/UXが悪いことを示しており、 'HTMLelement'全体を回転させるのではなく、何らかのメッセージをメディアクエリで表示する方がはるかに適していると思います。 – Sethen

+1

また、ハックに頼るのではなく、ポートレートビューとランドスケープビューの両方に回答するのが最善の解決策です。 – Sethen

5

してみてください。私はこれのために多くのユースケースを見ることができません - しかし、私はいくつかのゲームとマッピングアプリケーションのためにこれを見ているので、それは完全に悪いことではありません。

+1

興味深い解決策ですが、他の電話サイズには条件が必要です –

関連する問題