Vant+postcss-pxtoremはブラウザ適応機能を実装します

Vant+postcss-pxtoremはブラウザ適応機能を実装します

Remレイアウトの適応
Vant のスタイルでは、デフォルトで px を単位として使用します。rem 単位を使用する必要がある場合は、次の 2 つのツールをお勧めします。
postcss-pxtoremは単位をremに変換するためのpostcssプラグインです。
lib-flexibleはremベース値を設定するために使用されます
最後にサプライズがあります!

1. npmのインストール

npm をインストール postcss-pxtorem --save

2. 新しい.postcssrc.jsを作成し、次の変更を加えます。

注記:
1. 以下のコメントコードをオンにすると、スクリプト実行時にエラーメッセージが表示されます。何のためか分かりませんが、とりあえずコメントアウトします。

モジュール.エクスポート = {
 「プラグイン」: {
 	//"postcss-import": {},
  //"postcss-url": {},
  「自動プレフィックス」: {
   ブラウザ: ['Android >= 4.0', 'iOS >= 7']
  },
  "postcss-pxtorem": {
   "ルート値": 32,
   "propList": ["*"]
  }
 }
}

3. 新しいrem.jsを作成する

定数ベースサイズ = 32
// rem関数を設定する function setRem() {
 // 現在のページ幅を 750 幅に対して拡大縮小する比率。必要に応じて変更できます。
 定数スケール = document.documentElement.clientWidth / 750
 // ページのルートノードのフォントサイズを設定します。 document.documentElement.style.fontSize = (baseSize * Math.min(scale, 2)) + 'px'
}
// setRem() を初期化する
// ウィンドウサイズを変更するときに rem をリセットする
window.onresize = 関数 () {
 リセット()
}

4. main.jsにrem.jsを導入する

「./rem.js」をインポートします

この時点で、Vant+postcss-pxtorem のブラウザ適応は完了です。
スタイルで px を使用して、自動的に rem に変換できます。
待って、まだ行かないで! ! !お客様。
これで終わりだと思いますか? いいえ、postcss-pxtorem に基づかない別の rem 適応があります。
では、これ以上長々とせずに、すぐにコードを見てみましょう。

5. 新しいrem.jsを作成し、main.jsに導入する

(関数 (doc, win) {
 var docEl = doc.documentElement
 var resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize'
 var recalc = 関数(){
  var クライアント幅 = docEl. クライアント幅
  if (!clientWidth) 戻り値
  (parseInt(20 *(クライアント幅/ 320))> 35)の場合{
   docEl.style.fontSize = 35 + 'px'
  } それ以外 {
   docEl.style.fontSize = 20 * (クライアント幅 / 320) + 'px'
  }
 }
 if (!doc.addEventListener) 戻り値
 win.addEventListener(resizeEvt、再計算、false)
 doc.addEventListener('DOMContentLoaded', 再計算, false)
})(ドキュメント、ウィンドウ)

「./rem.js」をインポートします

6. スタイルグローバル変数を追加して使用する

// 現在のページ幅を 750 幅に対して拡大縮小する比率。必要に応じて変更できます。
$残り: (640/750)/40;
体{
	幅: $rem * 24rem;
}

これで、ブラウザ適応を実現するための Vant+postcss-pxtorem に関するこの記事は終了です。Vant+postcss-pxtorem 適応に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Vue での rem と postcss-pxtorem の詳細な適用
  • モバイル適応のために postcss-pxtorem を使用する vue の問題について
  • vue3.0でpostcss-pxtoremを使用する具体的な方法
  • Vant フレームワークを使用して H5 を実行する際の落とし穴を解決します (プルダウンして更新、プルアップして読み込みなど)。
  • Vantを使用してダイアログポップアップケースを完了する

<<:  Mysqlマスタースレーブ同期の実装原理

>>:  WindowsにJDK8をインストールする方法

推薦する

Alibaba Cloud Server で MySQL デュアルマシン ホットスタンバイを手動で実装する 2 つの方法

1. コンセプト1. ホットバックアップとバックアップの違いホット バックアップは高可用性 (HA)...

Dockerがコンテナを作成した後にホスト名を変更する詳細なプロセス

後悔を癒す薬は世の中にある、考えてみる気さえあれば!コンテナを再作成する必要はもうありません。 m2...

MySQL 5.6 のインストール手順(画像とテキスト付き)

MySQL はオープンソースの小規模リレーショナル データベース管理システムです。現在、MySQL...

Centos サーバーで nginx を設定する方法の例

セキュアターミナルMobaXterm_Personalをダウンロードまず、安全なターミナルをダウンロ...

CentOS 6.5 i386 インストール MySQL 5.7.18 詳細チュートリアル

ほとんどの人はMySQLをコンパイルしてシステムディレクトリに置きますが、私のやり方はコンパイルした...

nginx を https をサポートするように設定するためのサンプル コード

1. はじめにあなたのウェブサイトはまだインターネット上に公開されたままですか?ここでは、HTTPS...

Facebook 出会い系サイトデザインのユーザー エクスペリエンス分析

<br />関連記事: Facebookの情報アーキテクチャの分析 元記事: http:...

ES6分解課題の原理と応用

目次配列分割代入オブジェクトの分解代入分割割り当ての適用変数の値の交換関数から複数の値を返すマップ構...

MySQL DML ステートメントの概要

DML 操作とは、データベース内のテーブル レコードに対する操作を指し、主にテーブル レコードの挿入...

Nginx リバース プロキシ springboot jar パッケージ プロセス分析

Springboot プロジェクトをサーバーにデプロイする方法としては、war パッケージにパッケー...

JavaScript における BOM と DOM の詳細な説明

目次BOM (ブラウザ オブジェクト モデル) 1. ウィンドウブラウザのウィンドウサイズを取得する...

VMware WorkStation を Docker for Windows で使用するための詳細なチュートリアル

目次1. はじめに2. Windows用Dockerをインストールする1. Windows用Dock...

Vueコンポーネントの動的コンポーネントの詳細な説明

目次要約する要約する配列が変更されると、対応するデータを動的にロードしますシナリオ: 異なるコンポー...

HTMLベースの複数画像アップロードのプレビュー機能を実装

最近、Web ページに複数の画像をアップロードするためのスクリプトを作成しました。これは非常に実用的...

Vue の this.$router と this.$route の違いと push() メソッド

公式文書には次のように記されている。ルーターを挿入することで、どのコンポーネントでも this.$r...