モバイル端末の水平および垂直画面ビューポート検出を決定するための js のいくつかの方法

モバイル端末の水平および垂直画面ビューポート検出を決定するための js のいくつかの方法

1. 異なるビューポートを取得する方法

// 視覚的なビューポートのサイズを取得します(垂直スクロールバーを含む)
iw = window.innerWidthとします。
 ih = ウィンドウの内側の高さ;
コンソールにログ出力します。

// 視覚的なビューポートのサイズを取得します (サイドバー、ウィンドウ クロム、ウィンドウのサイズ変更用の境界線を含むコンテンツ領域のサイズ)
ow = window.outerWidthとします。
 oh = ウィンドウの外側の高さ;
console.log(わー、あー);

// 画面の理想的なビューポート サイズを取得します (固定値 (画面解像度サイズ))
sw = window.screen.width とします。
 sh = ウィンドウの画面の高さ;
コンソールにログ出力します。

// ブラウザの利用可能なウィンドウのサイズを取得します(パディングを含みますが、垂直スクロールバー、境界線、余白は除きます)
aw = window.screen.availWidthとします。
 ah = window.screen.availHeight;
コンソールにログ出力します。

// パディング、スクロールバー、境界線、マージンを含む let dow = document.documentElement.offsetWidth,
 doh = document.documentElement.offsetHeight;
コンソールにログ出力します。

// スクロールバーを使用せずにビューポート内のすべてのコンテンツに収まるために必要な最小の幅と高さ let dsW = document.documentElement.scrollWidth,
 dsH = document.documentElement.scrollHeight;
コンソールにログ出力します。

// 要素のパディングを含みますが、境界線、余白、垂直スクロールバーは含みません。let cw = document.documentElement.clientWidth,
 ch = document.documentElement.clientHeight;
コンソールにログ出力します。

2. 水平画面と垂直画面のJavaScript検出

// window.orientation: 画面の回転方向を取得します window.addEventListener('resize', () => {
 // 通常の向きまたは画面を180度回転 if (window.orientation === 180 || window.orientation === 0) {
  console.log('垂直画面')
 }

 // 画面は時計回りに90度、または反時計回りに90度回転します。if (window.orientation === 90 || window.orientation === -90) {
  console.log('水平画面')
 }
});

3. 水平画面と垂直画面のCSS検出

/*水平および垂直画面の CSS 検出*/
@media 画面と (orientation:portrait) {

 /* 縦画面 */
 #アプリ {
  幅:100vw;
  高さ:100vh;
  背景: 赤;
 }
}

@media screen と (orientation:landscape) {

 /* 横画面 */
 #アプリ {
  幅:50vw;
  高さ:100vh;
  背景: 緑;
 }
}

4. メタタグ属性設定

<meta name="viewport" content="width=デバイス幅、初期スケール=1、最小スケール=1、最大スケール=1、ユーザースケーラブル=いいえ" />

5.メタタグ属性設定ノッチ画面と下部の黒いバーを設定する

<meta name="viewport" content="viewport-fit=cover" />

安全領域と境界の間の距離を設定する

/* 下部の固定ナビゲーション バーを使用する場合は、パディング値を設定する必要があります。 */
体 {
 パディング下部: 定数(セーフエリアインセット下部);
 パディング下部: env(セーフエリアインセット下部);
}

注: constant 関数は iOS < 11.2 の場合に有効で、env は iOS >= 11.2 の場合に有効です。

これで、モバイル端末での水平および垂直ビューポート検出を決定するために js を使用するいくつかの方法についての記事は終了です。モバイル端末での js 水平および垂直ビューポート検出に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • JSを使用して携帯電話の水平および垂直画面の状態を判別する
  • モバイル端末の横画面と縦画面を検知するJSコード

<<:  MySQL が自動的に再起動する問題の解決方法

>>:  Linux リモート開発に vs2019 を使用する方法

推薦する

MySQL データベースに基づくデータ制約の例と 5 つの整合性制約の紹介

非準拠データがデータベースに入るのを防ぐために、ユーザーがデータを挿入、変更、削除、その他の操作を行...

WeChatミニプログラムの開発をスピードアップするためのヒント

1. app.jsonを使用してページを作成する私たちの通常の開発習慣によれば、新しいページを作成す...

Linux zabbix エージェントの展開と設定方法の詳細な説明

1. web01にzabbix-agentをインストールするZabbix ウェアハウスをデプロイする...

Win10 での MySQL 8.0.20 のインストールと設定のチュートリアル

Win10 システムでの MySQL 8.0.20 のインストールと設定の超詳細なチュートリアルMy...

CSS で垂直方向の中央揃えを実装するいくつかの方法の概要

フロントエンドのレイアウト プロセスでは、水平方向の中央揃えを実現するのは比較的簡単で、通常は ma...

HTML の基本 - CSS スタイルシート、スタイル属性、フォーマット、レイアウトの詳細

1.位置:固定一部の Web サイトの右下隅にあるポップアップ ウィンドウなどの、ブラウザーを基準と...

MySQL の条件文で 1 つの情報しか読み取れない問題に対する 2 つの解決策

今日、私の同僚が MYSQL クエリ ステートメントの作成時に非常に奇妙な問題に遭遇しました。MyS...

期間限定フラッシュセール機能を実装するJavaScript

この記事では、期間限定フラッシュセール機能を実装するためのJavaScriptの具体的なコードを参考...

JSX を使用してマークアップ コンポーネント スタイルの開発を作成する例 (フロントエンドのコンポーネント化)

目次JSX環境の構築NPMを初期化するwebpackをインストールするBabelをインストールするw...

Linuxファイルコマンドの使用

1. コマンドの紹介ファイル コマンドは、ファイルの種類を識別するために使用されます。ファイル チェ...

SQL 面接の質問: 時間差の合計を求める (重複は無視)

ある会社の BI 職の面接を受けたとき、面接で SQL に関する質問がありました。一見すると非常に簡...

フレックスレイアウトのスペース間の最後の行の左揃えの問題を解決する方法

まずはコードと効果を見てみましょう↓ <スタイル> 。主要 { アウトライン: 1px ...

MySQLインジェクションバイパスフィルタリング技術の概要

まず、GIF 操作を見てみましょう。ケース1: スペースがフィルタリングされるスペースの代わりに角括...

ウェブデザインと制作の一般的な原則をまとめる

<br />関連記事: Web コンテンツ ページ作成に関する 9 つの実用的な提案、W...

JDBC が MySQL に接続して中国語を処理するときに文字化けする問題の解決方法の詳細説明

JDBC が MySQL に接続して中国語を処理するときに文字化けする問題の解決方法の詳細説明最近、...