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をインストールする方法

推薦する

CSS を使用して等アスペクト比のアダプティブ コンテナを実装する方法

最近、モバイル ページを開発しているときに、ページの幅が 100% の場合、高さは幅の半分になり、携...

CSS3 で高さと幅を不定にして垂直と水平に中央揃えするいくつかの方法

1. フレックスレイアウト 。父親 { ディスプレイ: フレックス; コンテンツの中央揃え: 中央;...

一般的な XHTML タグの使用方法の紹介

XHTML には多くのタグがありますが、頻繁に使用されるのはごくわずかであり、習得する必要があるのは...

CentOS で新しいユーザーを作成し、キーログインを有効にする方法

目次新しいユーザーを作成する新規ユーザーを承認する新規ユーザーのSSHキーログインを有効にする他のS...

Vueでのバスの使用に関する詳細な説明

Vue バス メカニズム (バス) vuex を使用するだけでなく、vue 内の親子以外のコンポーネ...

MySQL 8.0 アトミック DDL 構文の詳細な説明

目次01 アトミックDDLの紹介02 一部のDDL操作の実行動作の変更03 DDL 操作のログを表示...

MySQL メモリテーブルと一時テーブルの使用方法の詳細な説明

MySQL メモリ テーブルと一時テーブルの使用メモリテーブル: セッション 1 $ mysql -...

Dockerイメージ送信コマンドcommitの動作原理と使い方の詳細な説明

ローカルでコンテナを作成した後、このコンテナに基づいてローカル イメージを作成し、このイメージを D...

MySQLデータをOracleに移行する正しい方法

mysql データベースには student テーブルがあり、その構造は次のとおりです。 Oracl...

MySQL 数千万のビッグデータに対するSQLクエリ最適化の知識ポイントのまとめ

1. クエリを最適化するには、テーブル全体のスキャンを避けてください。まず、where と orde...

VMware+centOS 8 で http プロトコルに基づく Git サービスを構築する方法

目次1. 原因2. デバイス情報3. 準備4. Apacheをインストールする5. gitを設定する...

Vue3.0 異なる解像度のコンピュータの適応操作

まず依存関係をインストールする必要があります npm i lib-flexible-computer...

HTML Web ページにおける URL の表現

HTML では、一般的な URL はさまざまな方法で表現されます。相対 URL:コードをコピーコード...

MySQL マスター/スレーブ ステータスを監視するシェル スクリプト

Linuxでシェルスクリプトを共有して、MySQLのマスタースレーブ状態を監視し、エンタープライズW...

複数ページ通信を実現する JavaScript の sharedWorker の詳細な例

こんなことがありました。今日はGitHubで遊んでいました。最初はログインせずにいくつかのページを閲...