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 リモート デスクトップ サービスを展開するためのクイック スタート ガイド

推薦する

オブジェクトアニメーションによってブロックされずにオブジェクトに div を表示する方法

今日はメニューボタンを作りました。マウスをボタンに移動するすると、ドロップダウンサブメニューが表示さ...

Dockerデータ管理とネットワーク通信の使用

Docker をインストールし、Docker コアとインストールを通じて簡単な操作を実行できます。 ...

MySQL の簡単な分析 - MVCC

バージョンチェーンInnoDB エンジン テーブルでは、クラスター化インデックス レコードに 2 つ...

Ubuntu 18.04 LTSでIPアドレスを設定するための完全な手順

序文Ubuntu 18.04 LTS で IP アドレスを設定する方法は、これまで使用されていた設定...

MySQL全文インデックスを使用して検索エンジンのサンプルコードの簡易版を実現する

序文全文インデックスを使用できるのは Innodb と MyISAM ストレージ エンジンのみです ...

MySQLは挿入を使用して複数のレコードを挿入し、データを一括で追加します。

table1 に 5 つのレコードを挿入する場合、次のコードは誤りです。 テーブル1に(id,na...

Docker Swarmを使用してWordPressを構築する方法

原因かつて私は Vultr に WordPress を設定しましたが、よく知られている理由により、こ...

iptables および firewalld ツールを使用して Linux ファイアウォール接続ルールを管理する

ファイアウォールファイアウォールは一連のルールです。パケットが保護されたネットワーク空間に出入りする...

Nodejs での WeChat アプレット メッセージ プッシュの実装

サブスクリプションメッセージテンプレートを選択または作成するWeChat アプレットにログインし、「...

VirtualBox+Ubuntu16でKubernetesクラスタを構築する実装

目次Kubernetesについて基本的な環境の準備VirtualBoxをインストールするUbuntu...

CocosCreatorを使ってシューティングゲームを作る方法

製造手順を分析します。 1. リソースを準備してシーンを構築するオンラインでリソースを探すか、私のリ...

MySQLの再帰問題

MySQL自体は再帰構文をサポートしていませんが、自己接続を通じていくつかの単純な再帰を実現できます...

JavaScriptは4桁のランダム検証コードの生成を実装します

この記事の例では、JavaScriptで4桁のランダムな検証コードを生成する具体的なコードを参考まで...

Web ページのソース ファイルを表示できない場合はどうすればよいですか?

Q: Outlook または IE のどちらを使用している場合でも、マウスを右クリックすると、ポッ...

HTML ウェブページの段落レイアウトと改行

Web ページの外観はレイアウトに大きく左右されます。ページ内に長い段落のテキストがある場合、通常は...