Vue大画面表示適応方法

Vue大画面表示適応方法

この記事では、vueの大画面表示適応の具体的なコードを参考までに紹介します。具体的な内容は以下のとおりです。

1. utilsフォルダに次のコードでcvファイルを作成します。

エクスポート関数 useIndex(appRef) {
  // * appRefは最も外側のコンテナを指します // * タイミング関数let timer = null
  // * デフォルトのスケーリング値 const scale = {
    幅: '1'、
    高さ: '1'
  }
  // * デザインドラフトサイズ (px)
  定数ベース幅 = 1920
  定数ベース高さ = 1080

  // * 維持する比率(デフォルトは2)
  // 定数 baseProportion = parseFloat((baseWidth / baseHeight).toFixed(5))
  定数基底比率 = 2
  定数calcRate = () => {
    // 現在のアスペクト比 const currentRate = parseFloat((window.innerWidth / window.innerHeight).toFixed(5))
    (アプリ参照)の場合{
      現在のレートが基本比率より大きい場合
        // より広いことを示します scale.width = ((window.innerHeight * baseProportion) / baseWidth).toFixed(5)
        スケール.高さ = (window.innerHeight / baseHeight).toFixed(5)
        appRef.style.transform = `スケール(${scale.width}, ${scale.height}) 変換(-50%, -50%)`
      } それ以外 {
        // より高いスケールを示します。height = ((window.innerWidth / baseProportion) / baseHeight).toFixed(5)
        スケール幅 = (window.innerWidth / baseWidth).toFixed(5)
        appRef.style.transform = `スケール(${scale.width}, ${scale.height}) 変換(-50%, -50%)`
      }
    }
  }

  定数リサイズ = () => {
    タイムアウトをクリア(タイマー)
    タイマー = setTimeout(() => {
      計算レート()
    }, 200)
  }

  // ウィンドウのサイズを変更して再描画する const windowDraw = () => {
    window.addEventListener('resize', resize)
  }

  戻る {
    アプリ参照、
    計算レート、
    ウィンドウ描画
  }
}

2.app.vue構造スタイル

<テンプレート>
  <div ref="appRef" クラス="main">
    <div class="レイアウトコンテナ">
    </div>
  </div>
</テンプレート>

<スクリプト>
'@/utils/utilsDram.js' から { useIndex } をインポートします。
エクスポートデフォルト{
  マウントされた(){
    const { calcRate, windowDraw } = useIndex(this.$refs.appRef)
    計算レート()
    ウィンドウ描画()
  }
}
</スクリプト>
<style lang="scss" スコープ>
。主要 {
  色: #d3d6dd;
  幅: 1920ピクセル;
  高さ: 1080ピクセル;
  位置: 絶対;
  上位: 50%;
  左: 50%;
  変換: translate(-50%, -50%);
  変換の原点: 左上;

  .レイアウトコンテナ{
    幅: 100%;
    高さ: 100%;
    }
   }
</スタイル>

3. フォントサイズとボックスの幅は px に直接設定されます。ズームインまたはズームアウトしても、以前と同じままです。基本的なページサイズはあまり変わりません。次の図は、500 倍にズームインした場合の効果を示しています。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • vue+px2rem(rem適応)を使用してPCで大画面適応を実装するためのサンプルコード
  • Vueプロジェクトを大画面に適応させる方法の例

<<:  XHTML CSSを使用して正式なブログを書く

>>:  Windows Server 2016 リモート デスクトップ サービスを展開するためのクイック スタート ガイド

推薦する

Docker Nginxコンテナの制作と展開の実装方法

クイックスタート1. Docker Hubでnginxイメージを見つけるdocker 検索 ngin...

MySQL 8.x msi バージョンのインストール チュートリアル (画像とテキスト付き)

1. MySQLをダウンロードする公式サイトのダウンロードアドレス https://dev.mys...

Nginx ロードバランシング/SSL 構成の実装

負荷分散とは何ですか?ドメイン名が複数の Web サーバーを指している場合は、nginx ロード バ...

CentOS 7でsambaを使用してフォルダーを共有するための完全な手順

序文Samba は、サーバー プログラムとクライアント プログラムで構成され、Linux システム上...

77.9K の GitHub リポジトリを持つ Axios プロジェクト: 学ぶ価値のあることは何でしょうか?

目次序文1. Axiosの紹介2. HTTPインターセプターの設計と実装2.1 インターセプターの紹...

HTMLのmarquee属性でテキストを踊らせる

構文: <marquee> …</marquee>モバイル属性マーキーを使用...

CSS のフィルター属性とバックドロップフィルターの適用と違いの詳細な説明

フィルターとバックドロップフィルターにはいくつかの違いがあります。フィルターは現在の要素だけでなく、...

Centos6.5 の rpm パッケージから mysql5.7 をインストールするときに発生する初期化エラーの解決策

1. rzをサーバーにアップロードして解凍する rz [root@mini2 アップロード]# ta...

MySQLクエリインターセプトの詳細な分析

目次1. クエリの最適化1. MySQLチューニングの概要2. 小さなテーブルが大きなテーブルを動か...

MYSQLは継続サインイン機能を実装しており、サインイン後1日経過すると最初から開始します(SQL文)

1. テストテーブルを作成する テーブル `testsign` を作成します ( `userid`...

15行のCSSコードがAppleデバイスをクラッシュさせる可能性があり、最新のiOS 12も例外ではない

たった15行のCSSでiPhoneがクラッシュするWire のセキュリティ研究者 Sabri Had...

CentOS 8.4 に Docker をインストールする詳細なチュートリアル

目次序文:システム要件:インストール環境:古いバージョンをアンインストールします: yum は具体的...

IEではボタンが両側に伸びる

ボタン (input, button) を記述すると、IE では次のようになります。単語数が増えると...

Vue.js の watch メソッドと computed メソッドの違いの詳細な例

目次序文導入1. 作用機序2. 自然から3. 時計と計算の比較4. メソッドはデータロジックの関係を...