Vueは大画面ページのスクリーン適応を実現します

Vueは大画面ページのスクリーン適応を実現します

この記事では、大画面ページのスクリーンアダプテーションを実現するためのVueの具体的なコードを参考までに共有します。具体的な内容は次のとおりです。

1. 設定ファイルで大画面デザインのサイズを1920*1080に設定する

//アプリ構成.js
エクスポートデフォルト{
    画面:{
        幅:1920,
        高さ:1080,
        スケール:20
    }//大画面デザインの幅と高さ}

2. resetScreenSize.jsを定義する

'../config/base' から appConfig をインポートします。
 
エクスポート関数pageResize(コールバック) {
    初期化 = () => {
        console.log(window.innerHeight + "," + window.innerWidth);    
        _el = document.getElementById('app'); とします。
       
        hScale を window.innerHeight / appConfig.screen.height に設定します。
        wScale を window.innerWidth / appConfig.screen.width に設定します。
        pageH = window.innerHeight とします。
        pageW = window.innerWidth とします。
       
        isWider を (window.innerWidth / window.innerHeight) >= (appConfig.screen.width / appConfig.screen.height) とします。
        コンソールにログ出力します。
        if (isWider) {
                _el.style.height = window.innerHeight+'px'; // '100%';
                _el.style.width = pageH * appConfig.screen.width / appConfig.screen.height + 'px';
                _el.style.top='0px';
                _el.style.left=(window.innerWidth -pageH * appConfig.screen.width / appConfig.screen.height)*0.5+'px';
                console.log(_el.style.width + "," + _el.style.height)
        }
        それ以外 {
                _el.style.width = window.innerWidth+'px'; // '100%';
                _el.style.height = pageW * appConfig.screen.height / appConfig.screen.width + 'px';
                _el.style.top = 0.5*(window.innerHeight-pageW * appConfig.screen.height / appConfig.screen.width)+'px';
                _el.style.left='0px';
                console.log(_el.style.height);
                コンソールにログ出力します。
        }
        document.documentElement.style.fontSize = (_el.clientWidth / appConfig.screen.scale) + 'px';
 
      
    }    
    var resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize';
    window.addEventListener(resizeEvt, init, false);
    document.documentElement.addEventListener('DOMContentLoaded', init, false);
    初期化()
}

3 使用方法

main.js インポート

'./config/base.js' から appConfig をインポートします。
Vue.prototype.appConfig を appConfig に追加します。
マウントされた関数で app.Vue import {pageResize} from './utils/resetScreenSize'
 
エクスポートデフォルト{
  名前: 'アプリ'、
  データ(){
    戻る {
       
    }
  },
  マウントされた(){
    ページサイズを変更します。
    console.log('ページサイズを変更');
  }
}

コンポーネント内のスタイル lang="stylus"

 .mc{
        :flex; を表示します。
        フレックス方向:列;
        コンテンツを中央揃えにします。
        コンテンツを中央揃えにする  
        ディスプレイ: フレックス;
        フレックス: 1 1 自動;
        flex-direction: 列;
        パディング:(15/96)rem;
    }
 
    .leftC{
       幅: (410/96)rem;
    }
 
    .centerC{
       幅: (1060/96)rem;
    }
 
    .rightC{
       幅: (450/96)rem;
    }

96 は設定ファイル内の 1920/20 から導出されるため、さまざまな変換を実行する必要はありません。

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

以下もご興味があるかもしれません:
  • VUEは、分散医療登録システムのバックグラウンド管理ページステップを開発しています。
  • VUE が分散医療登録システムのバックエンド管理ページを構築するための手順の例
  • Vueプロジェクトでページジャンプを実装する方法
  • VUE、分散医療登録システム向け病院設定ページ手順を開発

<<:  MySQLにおけるトランザクションの永続性実装原理の詳細な説明

>>:  HTML検証 HTML検証

推薦する

CSSはコーナーカット+ボーダー+投影+コンテンツ背景色のグラデーション効果を実現します

CSS を使用するだけで、コーナーカット + ボーダー + 投影 + コンテンツの背景色のグラデーシ...

WeChatアプレットがSMSログインを実装

目次1. インターフェース効果のプレビュー2.uViewのインストール3.uViewの設定3.1 m...

CSS を使用してテクスチャ付きグラデーション背景画像を記述するためのサンプル コード

プロジェクト内のページの長さはおよそ2000px以上あり、背景画像にはテクスチャやグラデーションがあ...

Mybatis マッパー動的プロキシの原理の分析

序文動的プロキシの原理を説明する前に、まず、mybatis を統合した後の dao 層の 2 つの実...

Nodejs 配列キューと forEach アプリケーションの詳細な説明

この記事では、Nodejs 開発プロセスで遭遇する配列の特性によって発生する問題と解決策、および配列...

高速でクールな揺れアニメーション効果を実現するCSS

1. Animate.css の紹介Animate.css は、Web プロジェクトですぐに使用で...

MySQL トリガーの使用シナリオとメソッドの例

トリガー:トリガーの使用シナリオと対応するバージョン:トリガーは次の MySQL バージョンで使用で...

CSS3 パッケージ化後にプレフィックスプラグインを自動的に追加する方法の詳細な説明: autoprefixer

vue-cli で構築されたプロジェクト スキャフォールディングでは、すでに autoprefix...

閲覧時に作成されたWebページの下部にある余分な空白スペースを削除する方法

Dreamweaver または FrontPage を使用して HTML Web ページを作成する場...

DockerHubを自分で構築する方法

先ほど使用したDocker HubはDockerによって提供されています。独自のDockerを構築す...

要素の水平方向の中央揃えを実現する3つの方法と、固定レイアウトとフローレイアウトの概念の理解

CSS でテキストを中央揃えにするプロパティは非常に簡単に実現できます。text-align:cen...

HTML テーブルの空白セル補完を実装する方法

私が初めて Web 開発を独学で学んだ頃は、いわゆる DIV/CSS レイアウトはなく、テーブル レ...

Linuxシステムの操作レベルの詳細な紹介

目次1. Linuxシステムの操作レベルの概要2. 実行レベルを確認する3. 現在のシステムの動作レ...

Vue の v-model ディレクティブと .sync 修飾子の違いの詳細な説明

目次vモデル.sync微妙な違い機能シナリオを要約します。 vモデル <!--親コンポーネント...

Vueプロジェクトのパッケージ化の詳細な説明

目次1. 関連構成ケース1(使用ツールはvue-cil)ケース2(使用するツールはwebpack) ...