Vue で PC 解像度の適応を実装するためのサンプルコード

Vue で PC 解像度の適応を実装するためのサンプルコード

プラン

  • lib-flexible + px2remLoader
  • lib-flexible : Alibaba のスケーラブルなレイアウト ソリューション
  • px2rem-loader : pxremに変換

依存関係をインストールする

npm インストール px2rem-loader -D
npm インストール lib-flexible -S

依存関係の導入

main.js lib-flexibleをインポートします

'lib-flexible' をインポートする

pxをremに変換する

vue-loaderやその他のスタイル ファイルloaderoptions 、最終的にはbuild/utils.jsのメソッドによって生成されます。 cssLoaderの後にpx2remLoader追加するだけです。 px2rem-loaderremUnitオプションは、1rem = ピクセル数を意味します。 lib-flexibleのソリューションと組み合わせて、 px2remLoaderoptions.remUnitをデザイン ドラフトの幅の1/10に設定します。 ここでは、デザイン ドラフトの幅が1920px

build/utils.jspx2remLoaderを追加します。

定数cssLoader = {
    ローダー: 'css-loader',
    オプション:
      ソースマップ: options.sourceMap
    }
  }

  // コード、px から rem 構成を追加 (px2remloader を loaders 配列に追加する必要があります)
  定数px2remLoader = {
    ローダー: 'px2rem-loader',
    オプション:
      remUnit: 192, //ビジュアルドラフトによると、remはpxの10分の1、1920px 192 rem
      // remPrecision: 8 // 変換後の rem に保持される小数点以下の桁数}
  }

ローダー配列に入れる

// テキスト抽出プラグインで使用するローダー文字列を生成する
関数generateLoaders(ローダー、ローダーオプション){
   const loaders = options.usePostCSS ? [cssLoader, postcssLoader, px2remLoader] : [cssLoader, px2remLoader]

   if (ローダー) {
     ローダー.push({
       ローダー: ローダー + '-loader',
       オプション: Object.assign({}, loaderOptions, {
         ソースマップ: options.sourceMap
       })
     })
   }
   //...
 }

Flexible.jsを変更する

flexible.jsのグローバル検索

PC側に合わせてコードを修正する

関数refreshRem(){
   var 幅 = docEl.getBoundingClientRect().width;
    (幅 / dpr > 540)の場合{
        幅 = 幅 * dpr;
    }
    // スケーリング比率は実際の状況に応じて変更できます var rem = width / 8;
    docEl.style.fontSize = rem + 'px';
    フレキシブル.rem = win.rem = rem;
}

変換したくないスタイルについては、そのスタイルの後に/*no*/を追加して、変換されないようにすることができます。

参考ブログ

VUE PC側適応ソリューションは柔軟です + px2remLoader感謝大佬
Vueは感謝大佬PC解像度の適応を実現

以上で、Vue の PC 側解像度適応のサンプルコードについての説明は終了です。Vue の PC 側解像度適応の詳細については、123WORDPRESS.COM の過去記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • VueはPC解像度適応操作を実装
  • VueはPCの側面にボールを浮かべるコードを実装する
  • PC側Vue UIコンポーネントライブラリをゼロから作成する(カウンターコンポーネント)
  • Vueは下へのスクロールとページめくりを実現(PC側)
  • PC録画機能を実現するVueのサンプルコード
  • Vue2 のシンプルな PC 側 SMS 認証コードの問題と解決策
  • VueはlocalStorageを使用してモバイルとPCのログイン情報を保存します
  • Vue を使用してシンプルなキーボードを実装する例 (モバイルと PC をサポート)

<<:  mysql bin-log ログファイルを sql ファイルに変換する方法

>>:  VScode リモート SSH リモート編集とデバッグコード

推薦する

Vue ログインページでクッキーを使用してパスワードを 7 日間記憶する方法

問題の説明プロジェクトのログインページでは、7日間パスワードを記憶する必要がある機能があります。この...

Dockerコンテナがホストポートにアクセスできない場合の解決策

最近、仕事中に問題が発生しました。Docker コンテナがホストの redis にアクセスできず、t...

JSコンストラクタとインスタンス化およびプロトタイプ導入の関係

目次1. コンストラクタとインスタンス化2. コンストラクターとインスタンス化の関係は何ですか? 3...

よくある CSS のヒントと経験談 11 選

1. 画像の下にある数ピクセルの空白を削除するにはどうすればよいですか?コードをコピーコードは次のと...

Docker コンテナのネットワーク設定によく使われるコマンドの詳しい説明

基本的なネットワーク構成Docker はイメージに基づいて複数のコンテナを「開く」ことができ、各コン...

JS を使用して要素が配列であるかどうかを判断する例

検証できるデータの種類は次のとおりです a = [1,2,3,4,5,6]とします。 b = [とし...

不規則な絵の滝の流れ原理の分析と応用

プロジェクトで発生した不規則な絵画壁のレイアウト問題は、次のように分析されます。 1.img dis...

Linux で Sudo を使用して権限を委譲する

sudo 権限委譲の概要su スイッチ ID: su –l ユーザー名 –c 'コマンド&#...

初心者でもjsのtypeofとinstanceofの違いを理解できます

目次1. 型2. インスタンス3. 違い1. 型typeof 演算子は、評価されていないオペランドの...

mysql ダーティ ページとは何ですか?

目次ダーティページ(メモリページ)ダーティページが表示されるのはなぜですか?メモリ管理メカニズムの簡...

MySQL 5.7.17 のインストールと設定方法のグラフィック チュートリアル (Ubuntu 16.04)

公式 MySQL Web サイトから Ubuntu Linux 用の最新バージョンの MySQL を...

1つの記事でNavicat for MySQLの基本を理解する

目次1. データベース操作2. データ型3. バックアップとリカバリ3. 操作4. 上級5. 知識補...

MySQL テーブル全体の暗号化ソリューション keyring_file の詳細な説明

例示するMySql Community Edition は、5.7.11 以降、テーブルベースのデー...

Vueは指定された日付間のカウントダウンを実装します

この記事では、指定された日付間のカウントダウンを実装するためのVueの具体的なコードを例として紹介し...

Reactフックとzarmコンポーネントライブラリ構成に基づいてh5フォームページを開発するためのサンプルコード

最近、React Hooks を zarm コンポーネント ライブラリと組み合わせて使用​​し、js...