ページを強制的に横画面にします
最近、会社はモバイル開発 Web ゲームを開発する予定です (さまざまな ボタンをクリックするだけです最後にガールフレンド=.= が見つかります)。これには、縦画面ではなく横画面表示が必要です。
経験がある方なら、ユーザーが画面を垂直に開いたときに、携帯電話を回転させる必要があるというプロンプトが表示されるのは非常に愚かであることが確実にわかるでしょう。この時点で、ユーザーが電話機の横向きモードをオンにしていない場合、ユーザーは強制的に横向きモードをオンにすることになります。この時点で、ユーザーはすでにゲームを待ちきれずにオフにしています。
まず、既製の api があるかどうかを確認するためにいくつかの調査を行いました。 screen の API と manifest メソッドを参照したところ、実験結果は当然良くありませんでした。
今考えられる唯一の解決策は、縦向きモードで横向きの「p」を書いてからそれを回転させることです。
さて、私のテスト ページの構造は次のとおりです:
<body class="webpBack"> <p id="print"> <p>lol</p> </p> </body>
とてもシンプルですよね? 最終的な理想 状態 は、非常に調和のとれた方法で lol を水平方向に回転させることです。
それでは、水平画面と垂直画面を区別する CSS を見てみましょう:
@media screen and (orientation: portrait) { html{ width : 100% ; height : 100% ; background-color: white ; overflow : hidden; } body{ width : 100% ; height : 100% ; background-color: red ; overflow : hidden; } #print{ position : absolute ; background-color: yellow ; } } @media screen and (orientation: landscape) { html{ width : 100% ; height : 100% ; background-color: white ; } body{ width : 100% ; height : 100% ; background-color: white ; } #print{ position : absolute ; top : 0 ; left : 0 ; width : 100% ; height : 100% ; background-color: yellow ; } } #print p{ margin: auto ; margin-top : 20px ; text-align: center; }
端的に言うと、これは、プリント p をポートレート モードでは水平に回転させ、ランドスケープ モードでは変更しないことを意味します。したがって、ポートレートでは、幅と高さは定義されません。以下のjsを通じて入力されます。
var width = document.documentElement.clientWidth; var height = document.documentElement.clientHeight; if( width < height ){ console.log(width + " " + height); $print = $('#print'); $print.width(height); $print.height(width); $print.css('top', (height-width)/2 ); $print.css('left', 0-(height-width)/2 ); $print.css('transform' , 'rotate(90deg)'); $print.css('transform-origin' , '50% 50%'); }
ここでは、まず画面上の利用可能な領域の幅と高さを取得し、幅と高さの関係に基づいて横画面か縦画面かを判断します。縦画面の場合は、プリントpの幅と高さを設定し、位置を合わせて回転させます。
最終的な効果は次のとおりです:
垂直画面
水平画面
最後に、この結果は、ユーザーの携帯電話の画面回転ボタンがオンになっている場合、携帯電話を横向きにすると、それはその後、ある悲劇を引き起こすことになる。解決策は次のとおりです:
var evt = "onorientationchange" in window ? "orientationchange" : "resize"; window.addEventListener(evt, function() { console.log(evt); var width = document.documentElement.clientWidth; var height = document.documentElement.clientHeight; $print = $('#print'); if( width > height ){ $print.width(width); $print.height(height); $print.css('top', 0 ); $print.css('left', 0 ); $print.css('transform' , 'none'); $print.css('transform-origin' , '50% 50%'); } else{ $print.width(height); $print.height(width); $print.css('top', (height-width)/2 ); $print.css('left', 0-(height-width)/2 ); $print.css('transform' , 'rotate(90deg)'); $print.css('transform-origin' , '50% 50%'); } }, false);
以上がページを強制的に横画面にしますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









それは&#039; Vueチームにそれを成し遂げてくれておめでとうございます。それは大規模な努力であり、長い時間がかかったことを知っています。すべての新しいドキュメントも同様です。

最近のビットコインの価格が20k $ $ USDを超えており、最近30Kを破ったので、イーサリアムを作成するために深く掘り下げる価値があると思いました

私はこの非常に正当な質問で誰かに書いてもらいました。 Leaは、ブラウザから有効なCSSプロパティ自体を取得する方法についてブログを書いています。それはこのようなものです。

WordPressエディターでユーザーに直接ドキュメントを表示する必要がある場合、それを行うための最良の方法は何ですか?

先日、Corey Ginnivanのウェブサイトから、この特に素敵なビットを見つけました。そこでは、スクロール中にカードのコレクションが互いに積み重ねられていました。

これらのデスクトップアプリがいくつかあり、目標があなたのサイトをさまざまな次元ですべて同時に表示しています。たとえば、書くことができます

フレックスレイアウトの紫色のスラッシュ領域に関する質問フレックスレイアウトを使用すると、開発者ツールなどの混乱する現象に遭遇する可能性があります(D ...
