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検証

推薦する

Docker ケース分析: Redis サービスの構築

目次1 マウントディレクトリとファイルを作成する2 Redisイメージを取得する3 コンテナを作成し...

Vuex のモジュール化と名前空間の例のデモ

1. 目的:コードの保守が容易になり、さまざまなデータの分類が明確になります。 2. store/i...

組み込み Linux で QT アプリケーションを再起動する簡単な方法 (QT4.8 qws ベース)

アプリケーション ソフトウェアには通常、次のようなビジネス要件があります。新しいバージョンの APP...

Dockerで最もよく使われるイメージコマンドとコンテナコマンドの詳細な説明

この記事では、Docker の使用で最もよく使用されるイメージ コマンドとコンテナ コマンドを一覧表...

Alibaba Cloud で静的ウェブサイトを素早く構築する方法

序文:ジュニアプログラマーとして、私は自分自身の個人ウェブサイトを構築し、それを他の人に見せることを...

Linux サーバーに Python3 をインストールする 2 つの方法

最初の方法Alibaba Cloud および Baidu Cloud サーバーが利用可能です。 ! ...

Vue+Element+Springboot画像アップロードの実装例

最近、たまたま vue+springboot のフロントエンドとバックエンドの分離プロジェクトに触れ...

PCとモバイルの適応の問題に対する迅速な解決策

Web ページを作成する場合、通常、コンピューターの画面サイズと携帯電話の画面サイズの違いなどの問題...

Alibaba Cloud に MySQL データベースをインストールするときに発生する 2002 エラーを解決する方法

データベースのインストール中に次のエラーが発生しました: 解決策は次のとおりです。 1. binディ...

Ajax jQueryはページ上のdivの更新効果を実現します

元のコードは次のとおりです。 <div class='コントロールグループ'&...

クールなネオンライト効果を実現する純粋な CSS (デモ付き)

私は最近、YouTube の CSS アニメーション効果チュートリアル シリーズをフォローしています...

NetEase ブログで使用されているシンプルな Web ページ コード

NetEase Blog でコードを使用する方法: まずブログにログインし、ブログのホームページの左...

HTML のセルパディングとセルスペース属性を図で説明します

セル - 表の内容 セルの余白 (表の余白) (cellpadding) - セルの外側の距離を表し...

MySQL にテーブルが存在するかどうかを確認し、それを一括で削除する方法

1. インターネットで長時間検索しましたが、判定表が存在するかどうかがわからなかったので、漠然と削除...