この記事では、大画面ページのスクリーンアダプテーションを実現するための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 を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: MySQLにおけるトランザクションの永続性実装原理の詳細な説明
CSS を使用するだけで、コーナーカット + ボーダー + 投影 + コンテンツの背景色のグラデーシ...
目次1. インターフェース効果のプレビュー2.uViewのインストール3.uViewの設定3.1 m...
プロジェクト内のページの長さはおよそ2000px以上あり、背景画像にはテクスチャやグラデーションがあ...
序文動的プロキシの原理を説明する前に、まず、mybatis を統合した後の dao 層の 2 つの実...
この記事では、Nodejs 開発プロセスで遭遇する配列の特性によって発生する問題と解決策、および配列...
1. Animate.css の紹介Animate.css は、Web プロジェクトですぐに使用で...
トリガー:トリガーの使用シナリオと対応するバージョン:トリガーは次の MySQL バージョンで使用で...
vue-cli で構築されたプロジェクト スキャフォールディングでは、すでに autoprefix...
Dreamweaver または FrontPage を使用して HTML Web ページを作成する場...
先ほど使用したDocker HubはDockerによって提供されています。独自のDockerを構築す...
CSS でテキストを中央揃えにするプロパティは非常に簡単に実現できます。text-align:cen...
私が初めて Web 開発を独学で学んだ頃は、いわゆる DIV/CSS レイアウトはなく、テーブル レ...
目次1. Linuxシステムの操作レベルの概要2. 実行レベルを確認する3. 現在のシステムの動作レ...
目次vモデル.sync微妙な違い機能シナリオを要約します。 vモデル <!--親コンポーネント...
目次1. 関連構成ケース1(使用ツールはvue-cil)ケース2(使用するツールはwebpack) ...