レム適応の一般的なパッケージ3つについて

レム適応の一般的なパッケージ3つについて

序文

以前、rem適応についての記事を書きましたが、具体的なパッケージは紹介しませんでした。今日は、よく使われる3つの方法を紹介し、皆さんの参考になればと思います。エディターと一緒に学んでいきましょう。

1. rem1.js

最初の方法は、m 側の画面回転の問題を考慮しています。互換性のためにいくつかの処理が行われています。詳細についてはコードを参照してください。

エクスポート関数 rem (doc, win) {
  docEl = doc.documentElement とします。
  // 画面回転イベントを考慮し、互換性を持たせる let resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize';
  再計算 = 関数 () {
            var clientWidth = docEl.clientWidth;
            if (!clientWidth) 戻り値:
            クライアント幅 >= 750 の場合
                 docEl.style.fontSize = '100px';
            } それ以外 {
                 docEl.style.fontSize = 100 * (clientWidth / 750) + 'px';
            }
      };

   doc.addEventListener の場合、戻り値は次のようになります。
    win.addEventListener(resizeEvt, recalc, false); // 画面のサイズと回転に適応します doc.addEventListener('DOMContentLoaded', recalc, false); // ページが最初に開かれたときに適応します recalc();
};

2. rem2.js

計算には HTML タグの offsetWidth の長さが使用されます。

エクスポート関数 rem() {
  var fz = document.querySelector('html').offsetWidth / 7.5; //デザイン図 750 1rem=100px
  document.querySelector('html').style.fontSize =
    fz <= 100 ? fz + 'px' : '100px';
  window.onresize = 関数() {
    レム();
  };
};

3. rem3.js

window.innerWidth を使用して計算すると、フォントの継承を防止するために body fontSize が設定され、ページのフォントが大きくなりすぎます。

エクスポート関数 rem() {
  document.documentElement.style.fontSize = window.innerWidth / 7.5 + 'px'; //1rem = 100px
  document.body.style.fontSize = '14px'; // ページにスタイルのない大きすぎるフォントが表示されないように、本文のフォント サイズを復元します}

要約する

上記はこの記事の全内容です。この記事の内容が皆さんの勉強や仕事に一定の参考学習価値を持つことを願っています。ご質問があれば、メッセージを残してコミュニケーションしてください。123WORDPRESS.COM を応援していただきありがとうございます。

<<:  MySQL/MariaDB でピボット テーブルを実装する方法のサンプル コード

>>:  CSS のみを使用して折りたたまれたヘッダー効果を作成する方法の例コード

推薦する

ティックアニメーション効果を作成するための svg+css または js

以前、上司からログイン後にチェックマークを表示できるプログラムを作るように言われたのですが、Baid...

Vue で動的に読み込まれたローカル画像を処理する方法

問題を見つける今日は、vue ファイルにローカル画像を導入する際に問題が発生したので、この記事を書き...

CSS3で作られたレインボーボタンスタイル

結果: 実装コード: html <div class="buttons"&...

Linux の grep コマンドと egrep コマンドの詳細な説明

反復/egrep構文: grep [-cinvABC] 'word' ファイル名-c...

MySQL sql_modeの適切な設定に関する詳細な説明

MySQL sql_modeの適切な設定sql_mode は見落とされやすい変数です。デフォルト値は...

nginx を使用して 1 つのドメイン名で複数の Laravel プロジェクトを構成する方法の例

背景会社のサブプロジェクトが増えるにつれて、さまざまなサイズのプロジェクトが10個以上になります(バ...

Linuxで同一ファイルを見つける方法

コンピュータを使用すると、システム内に大量のゴミが生成されます。最も一般的なケースは、同じファイルが...

NodeサイトのForever+nginx導入方法例

私は最近、最も安い Tencent クラウド サーバーを購入しました。これは主に、Web テクノロジ...

HTMLテーブルレイアウトの実践的な使い方の詳しい説明

テーブルはいつ使用されますか?最近では、Web ページの全体的なレイアウトにテーブルが使用されること...

長いデータを HTML で表示するときに処理する方法

HTML で長いデータを表示する場合、マウスをその上に移動するとデータを切り捨てて完全なデータを表示...

nginx 設定ファイルで環境変数を使用する方法

序文Nginx はパフォーマンスを重視して設計された HTTP サーバーです。Apache や li...

JSネイティブ2列シャトル選択ボックスの実装例

目次いつ使うか構造的ブランチコードいつ使うか選択動作を完了するには、2 つの列間で要素を直感的に移動...

MySQLデータベースのトランザクションとロックの詳細な分析

目次1. 基本概念酸3.自動コミット4. トランザクション分離レベル5. 同時実行の一貫性の問題6....

MySQL データベースの基礎を始めるための一般的なコマンドの概要

この記事では、MySQL データベースの基礎を学ぶためによく使用されるコマンドを例を使って説明します...

優れたユーザー インターフェース デザインのための 37 のヒント (画像付き)

1. 複数列レイアウトではなく、単一列レイアウトを使用する1 列のレイアウトにより、全体的な状況をよ...