モバイルウェブ画面適応(rem)

モバイルウェブ画面適応(rem)

序文

最近、フロントエンドの学習に関する以前のメモを整理したところ、モバイル Web 画面の適応 (rem) をあまり理解しておらず、使い方だけを知っていたことがわかりました。

次に、モバイル Web 画面の適応 (rem) に関する私の考えをいくつか記録します。

レム はじめに

rem はルート要素 (<html>) のフォント サイズを表します。つまり、ルート要素のフォントサイズが14pxの場合、1rem = 14pxとなります。

モバイルウェブに適応したrem

適応効果

異なるサイズの画面では、同じ要素のサイズは同じに見えない場合があります。ただし、画面幅に占める割合は同じです。

コード

// HTML ファイルの head タグ内 <script type="text/javascript">
  (関数(){
    var html = document.documentElement;
    // 画面の幅(px)を取得します
    var hWidth = html.getBoundingClientRect().width;
    // HTMLタグのフォントサイズをhWidth/15に設定する
    html.style.fontSize = hWidth/15 + 'px';
  })()
</スクリプト>
// less で /* 変数 @r: 750/15 を定義します */
@r:50レム; 
div {
  幅: 100/@r;
  高さ: 200/@r;
}

javascriptコード

まず、画面サイズ(px)の1/15をhtmlタグのfont-size属性にコピーします。この時点で、どの画面サイズでも、画面サイズ (px) の 1/15 px が 1rem に等しくなります。つまり、どのサイズの画面でも、要素に同じ rem 値が設定されている限り、その要素が占める画面幅の比率は、どのサイズの画面でも同じになります。比率が同じであれば、すべてのサイズの画面に適応されます。

コードが少ない

ここで、デザイン内の要素の px 単位を rem 単位に変換するだけです。

ですので、現時点ではデザイン案はある程度の大きさの携帯電話の画面とみなすことができます。
私の場合、デザインの幅は750pxです。

したがって、750/15 = 50px、つまり、デザイン案のサイズの携帯電話画面では、1rem = 50pxとなります。

次に、less コードで変数 @r を定義します。

div の幅は 100 px と測定されます。デザイン ドラフトのサイズの画面では、1rem = 50px なので、div の rem 値は 100/50 rem、つまり 100/@r になります。

div の高さは 200 px と測定されます。デザイン ドラフトのサイズの画面では、1rem = 50px なので、div の rem 値は 200/50 rem、つまり 200/@r になります。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

<<:  ウェブデザインの達人がよく使うレスポンシブフレームワークを共有する(要約)

>>:  Windows で MySQL データベースを別のディスクに移動する

推薦する

CSS を使用して半透明の背景と不透明なテキストを実現する例

この記事では、CSS を使用して半透明の背景と不透明なテキストの効果を実現する方法の例を紹介します。...

クラウド CentOS で Docker リモート サービス リンクを有効にするための実装手順

ここでは、dockerがインストールされたcentosサーバーを紹介し、リモートリンクサービスを開始...

Linuxでのcrontabの使い方と注意点の詳しい説明

Crontab は定期的な実行を設定するために使用されるコマンドです。そのデーモン プロセスは cr...

MySQLのビューの詳細な説明

ビュー: MySQL のビューはテーブルと多くの類似点があります。ビューも複数のフィールドと複数のレ...

面接では、select...for update がテーブルをロックするのか、それとも行をロックするのか尋ねられました。

目次確認する:例の検証と組み合わせるselect クエリ ステートメントはロックされませんが、sel...

MySQL 変数宣言とストアド プロシージャの分析

変数の宣言グローバル変数の設定@a='新しい変数' を設定します。関数やストアドプロ...

Docker ベースの Redis クラスターの構築方法

Redisイメージをダウンロードする docker pull yyyyttttwww/redis を...

SNMP4J サーバー接続タイムアウト問題の解決策

弊社のネットワーク管理センターは管理センター兼サーバーとして機能します!各管理対象デバイスは、TCP...

Reactの親コンポーネントと子コンポーネント間のデータ転送の詳細な説明

目次1. 親コンポーネントが子コンポーネントにデータを渡す1.1. 親コンポーネントコード1.2. ...

Docker で ElasticSearch をデプロイする方法

1. ElasticSearch とは何ですか? Elasticsearch も Java で開発さ...

MySQL InnoDB トランザクション ロック ソースコード分析

目次1. ロックとラッチ2. 繰り返し読み取り3. インサートロックプロセス3.1 ロックモード3....

MySQL マスタースレーブレプリケーションの役割と動作原理の詳細な説明

1. マスタースレーブレプリケーションとは何ですか?マスタースレーブレプリケーションは、スレーブデー...

MySQL の一般的なツール例の概要 (推奨)

序文この記事では主にMySQLでよく使われるツールに関する関連コンテンツを紹介し、皆さんの参考と学習...

jQueryはキャンバスタグを使用して検証コードを描画します

<canvas> 要素は、クライアント側のベクター グラフィックス用に設計されています。...

JavaScriptのスリープ関数の使用

目次1.スリープ機能2.タイムアウトを設定する3. 約束4. 非同期待機5. 1秒後に出力1、2秒後...