CSSのレムとは何ですか

Jan 04, 2021 am 11:35 AM
css

css rem は CSS ユニットです。rem の完全な英語名は「ルート要素のフォント サイズ」で、ルート要素に対する相対的なフォント サイズの単位を指し、em は相対的なフォント サイズの単位を指します。親要素へのフォントサイズの単位。

CSSのレムとは何ですか

#この記事の動作環境: Windows 7 システム、Dell G3 コンピューター。

推奨事項: 「css ビデオ チュートリアル

rem は、ここ 1 ~ 2 年で注目を集め始めた地味な CSS ユニットです。多くの学生レムについてコメントした人もいますが、実際に使おうとしている人もいれば、使用中に落とし穴に遭遇して放棄した人もいます。しかし、rem に対する私の総合的な評価は、間違いなく Web アプリを作成するのに最も適した候補の 1 つであるということです。

レムとは何ですか?

rem (ルート要素のフォント サイズ) は、ルート要素に対する相対的なフォント サイズの単位を指します。簡単に言えば、相対的な単位です。 rem を見ると必ず em 単位を思い浮かべますが、Em (要素のフォント サイズ) とは、親要素に対する相対的なフォント サイズの単位を指します。これらは実際には非常によく似ていますが、一方の計算ルールはルート要素に依存し、もう一方の計算ルールは親要素に依存して計算される点が異なります。

Web アプリで rem が使用されるのはなぜですか?

ここでは、Web アプリと Web ページでは rem を使用できないことを特に強調します。実際、もちろん使用できますが、互換性の理由から、Web アプリで rem を使用すると、このユニットの価値と機能をより強調できます。現在の一部のエンタープライズ Web アプリが画面適応をどのように実装しているかを見てみましょう。

1. 強力な画面適応レイアウトの実現:

最近、iPhone 6 が 2 つのサイズの携帯電話でリリースされたため、携帯電話の画面の種類がさらに混乱しています。 1〜2年前にウェブの仕事をする アプリを適応させる1つの方法は、標準として幅320を使用することです. サイズが320を超えても、320の仕様で表示されます. この実装方法はタオバオウェブアプリに代表されますが、最近ではモバイル タオバオのホームページが改訂され、rem が使用されています。 このユニットでは、ホームページは以前と同様に固定幅のページと流動的なレイアウトのページがあり、依然としてわかりにくいです。

ページ レイアウトを切り取るときに使用する一般的な単位は px であり、これは絶対単位です。Web アプリの画面適応には、流動的なレイアウト、幅の制限など、さまざまな方法があります。しかし、これらのソリューションは最良のソリューションではありません。

たとえば、流体レイアウト ソリューションには多くの欠点があり、さまざまな画面に適応できますが、完全に表示できる携帯電話のサイズが限られているため、表示効果が非常に低くなります。インタラクションが最も望まれていますが、業界には依然として流体レイアウトを使用して Web アプリをカットしている企業が数多くあります。以下に私が集めた事例のいくつかを見てください:

1.Amazon

2 .Ctrip

3.Lanting

上記の Web サイトはすべて、流体レイアウト技術を使用して実装されています。ページをレイアウトするときに幅をパーセンテージで定義します。ただし、高さはほとんど px で固定されています。そのため、大画面の携帯電話での表示効果は、一部のページ要素の幅が非常に長く引き伸ばされることになりますが、高さは以前と同じであり、実際の表示は非常に調整されていません。これはストリーミングです。最も致命的です。このレイアウトの欠点は、少数のサイズの携帯電話でのみ見られる効果が満足できる場合が多いということですが、実際、多くのビジュアル デザイナーは、デザイン図面が大画面の携帯電話では表示されないため、この効果を受け入れることができないはずです。効果は水平方向に引き伸ばされたのと同じです。

流動的なレイアウトは、それを実装するための最も理想的な方法ではありません。多数のパーセンテージ レイアウトを使用すると、多くの互換性の問題が頻繁に発生します。また、設計には多くの制限があります。流体レイアウトが要素に及ぼす影響を考慮すると、水平方向に引き伸ばされた要素レイアウトのみを設計でき、設計時に多くの制限があります。

2. 固定幅方式

もう一つの方法は、ページ幅を固定する方法で、初期のウェブサイトではページ幅を 320 に設定し、余分な部分を空白のままにすることがありました。幸いなことに、ビジュアル デザインは流動的なレイアウトによって制限される必要がなくなり、フロントエンドは欺瞞的な流動的なレイアウトに関与する必要もなくなりました。しかし、このソリューションでは、大画面の携帯電話ではページの両側に余白ができてしまう、大画面の携帯電話ではページが非常に小さく見える、操作ボタンも非常に小さいなどの問題があります。モバイル タオバオのホームページは当初このように作られていましたが、最近では rem を使用して改訂されました。

3. レスポンシブアプローチ

中国の大企業の複雑なウェブサイトでは、モバイル端末ではレスポンシブアプローチがほとんど採用されていません。主な理由は、作業が大きいためです。メンテナンスが困難なので、一般的に小規模です。中規模のポータルやブログ サイトは、コストを節約でき、独自の Web サイト専用の Web アプリを構築する必要がなくなるため、レスポンシブ方式を使用して 1 ステップで Web ページから Web アプリに直接移動します。

4. ビューポートをスケーリング用に設定します

Tmall の Web アプリのホームページはこのようにして作成されています。幅 320 を基準にスケーリングされています。最大スケーリングは 320*1.3 = 416 です。基本的に 416 までのスケーリングは iPhone6 plus の画面と互換性があります. 、この方法は単純で、粗雑で、効率的です。正直なところ、次に説明する rem を使用すると非常に効率的だと思いますが、一部の学生は、使用中にスケーリングによってページ要素の一部がぼやけてしまうと報告しました。

rem はすべての画面に同じ割合で適応できます

上記では、現在ほとんどの企業で主流となっている多くの Web アプリ適応ソリューションについて説明しました。次に、rem がどのように機能するかについて説明します。の。

上で述べたように、rem はルート要素によって調整されます。Web ページのルート要素は html を参照します。html のフォント サイズを設定することで、rem のサイズを制御できます。例:

html{
    font-size:20px;
}
.btn {
    width: 6rem;
    height: 3rem;
    line-height: 3rem;
    font-size: 1.2rem;
    display: inline-block;
    background: #06c;
    color: #fff;
    border-radius: .5rem;
    text-decoration: none;
    text-align: center;    
}
ログイン後にコピー

Demo 上記のコードの結果は、以下に示すボタン サイズになります:

計算を容易にするために HTML を 10px に設定しました。なぜ 6rem が 60px に等しいのでしょうか。この時点で .btn のスタイルが変更されていない場合は、HTML のフォント サイズの値を変更し、ボタンに上記の変更が反映されることを確認します。

html{
    font-size:40px;
}
ログイン後にコピー

ボタン サイズの結果は次のとおりです。

上記結果は、幅と高さが 2 倍になり、html の font-size を変更しただけですが、 の rem で設定したプロパティは変更せずに、Web 上のボタンのサイズを変更しました。 btn スタイルの幅と高さ。

実際、上記の 2 つのケースから、rem が 1px であることを計算できます。

最初の例:

120px = 6rem * 20px (ルート要素は大きな値)

2 番目の例:

240px = 6rem * 40px (ルート要素が大きな値を設定します)

次のように推定されます:

10px  = 1rem 在根元素(font-size = 10px的时候);
20px  = 1rem 在根元素(font-size = 20px的时候);
40px  = 1rem 在根元素(font-size = 40px的时候);
ログイン後にコピー

上の 2 つの例では、最初のケースのボタンが 2 番目のボタンまで同じ比率で拡大されていることがわかりました。HTML のフォント サイズを変更すると、ボタンのサイズも変更されます。幅を変更する必要はありません。ボタンにあらかじめ設定されている高さと、実はこれが一番見たいのですが、なぜそう言えるのでしょうか?次に、例を見てみましょう:

上記 2 つのデモから、HTML のフォント サイズを変更すると、rem 単位を使用してすべての要素が均等に変更されることがわかります。そのため、Chrome ブラウザーを介してデバッグできます。異なるデバイス上で 3 番目のデモの表示効果を切り替えるか、ブラウザの幅を拡大して効果を表示するために使用されます。どの解像度でもページのレイアウトが同じ比率に従って切り替えられることがわかります。レイアウトが乱雑ではありません。 js を使用してブラウザの現在の解像度に応じて font-size の値を変更するだけで、上記の効果を実現しました。ページのすべての要素を変更する必要はありませんでした。

この時点で、さまざまな解像度でフォント サイズの値を計算する方法を多くの人が尋ねることでしょう。

まず、上記のページデザイン案は、標準サイズの 640 に基づいて渡されたものとします。 (もちろん、このサイズは必ずしも 640 である必要はなく、320 や 480 などのサイズでも構いません) 375 ) テーブルのセットを確認します。

上の表の青い列は Demo3 のページのサイズです。ページは幅 640 でカットされています。さまざまな幅で font-site の値を計算するにはどうすればよいですか?表の数値変化を理解します。例:384/640 = 0.6、384は640の0.6倍なので、ページ幅384の下のフォントサイズも0.6倍となり、このとき384のフォントサイズは12pxとなります。 。さまざまなデバイスの幅も同じ方法で計算されます。

Demo3 では、JS を使用してルート要素のフォント サイズを動的に計算しました。この利点は、すべてのデバイスの解像度に互換性があり、適応できることです。現在、淘宝網のホームページでは計算に JS を使用しています。しかし実際には、JS がなくてもアダプテーションを行うことができます。通常、Web アプリを作成するときは、まず Web サイトのメインストリーム スクリーン デバイスをカウントし、次に、アダプテーションを実現するためにそれらのデバイスのメディア クエリ設定を設定します。たとえば、次のようになります。

html {
    font-size : 20px;
}
@media only screen and (min-width: 401px){
    html {
        font-size: 25px !important;
    }
}
@media only screen and (min-width: 428px){
    html {
        font-size: 26.75px !important;
    }
}
@media only screen and (min-width: 481px){
    html {
        font-size: 30px !important; 
    }
}
@media only screen and (min-width: 569px){
    html {
        font-size: 35px !important; 
    }
}
@media only screen and (min-width: 641px){
    html {
        font-size: 40px !important; 
    }
}
ログイン後にコピー

もちろん、上記の設定をすべてのデバイスに完全に適応させることはできませんが、JS を使用して完全に適応させることができます。どちらを使用するかは、実際の作業シナリオによって異なります。

以下では、rem テクノロジーを使用している 2 つの国内モバイル サイトを推奨します。実践を確認するために参照してください。現在、モバイル タオバオのホームページのみが rem を使用しています。タオバオ ネイティブ アプリのホームページは埋め込み Web アプリですホームページです。

タオバオホームページ: m.taabao.com

D X: m.dx.com

以上がCSSのレムとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

ブートストラップボタンの使用方法 ブートストラップボタンの使用方法 Apr 07, 2025 pm 03:09 PM

ブートストラップボタンの使用方法は?ブートストラップCSSを導入してボタン要素を作成し、ブートストラップボタンクラスを追加してボタンテキストを追加します

ブートストラップのサイズを変更する方法 ブートストラップのサイズを変更する方法 Apr 07, 2025 pm 03:18 PM

Bootstrapの要素のサイズを調整するには、次のものを含むDimensionクラスを使用できます。

ブートストラップのフレームワークをセットアップする方法 ブートストラップのフレームワークをセットアップする方法 Apr 07, 2025 pm 03:27 PM

Bootstrapフレームワークをセットアップするには、次の手順に従う必要があります。1。CDNを介してブートストラップファイルを参照してください。 2。独自のサーバーでファイルをダウンロードしてホストします。 3。HTMLにブートストラップファイルを含めます。 4.必要に応じてSASS/LESSをコンパイルします。 5。カスタムファイルをインポートします(オプション)。セットアップが完了したら、Bootstrapのグリッドシステム、コンポーネント、スタイルを使用して、レスポンシブWebサイトとアプリケーションを作成できます。

ブートストラップに写真を挿入する方法 ブートストラップに写真を挿入する方法 Apr 07, 2025 pm 03:30 PM

ブートストラップに画像を挿入する方法はいくつかあります。HTMLIMGタグを使用して、画像を直接挿入します。ブートストラップ画像コンポーネントを使用すると、レスポンシブ画像とより多くのスタイルを提供できます。画像サイズを設定し、IMG-Fluidクラスを使用して画像を適応可能にします。 IMGボーダークラスを使用して、境界線を設定します。丸い角を設定し、IMGラウンドクラスを使用します。影を設定し、影のクラスを使用します。 CSSスタイルを使用して、画像をサイズ変更して配置します。背景画像を使用して、背景イメージCSSプロパティを使用します。

ブートストラップにスプリットラインを書く方法 ブートストラップにスプリットラインを書く方法 Apr 07, 2025 pm 03:12 PM

ブートストラップスプリットラインを作成するには2つの方法があります。タグを使用して、水平方向のスプリットラインを作成します。 CSS Borderプロパティを使用して、カスタムスタイルのスプリットラインを作成します。

ブートストラップの日付を表示する方法 ブートストラップの日付を表示する方法 Apr 07, 2025 pm 03:03 PM

回答:ブートストラップの日付ピッカーコンポーネントを使用して、ページで日付を表示できます。手順:ブートストラップフレームワークを紹介します。 HTMLで日付セレクター入力ボックスを作成します。ブートストラップは、セレクターにスタイルを自動的に追加します。 JavaScriptを使用して、選択した日付を取得します。

ブートストラップの日付を確認する方法 ブートストラップの日付を確認する方法 Apr 07, 2025 pm 03:06 PM

ブートストラップの日付を確認するには、次の手順に従ってください。必要なスクリプトとスタイルを紹介します。日付セレクターコンポーネントを初期化します。 Data-BV-Date属性を設定して、検証を有効にします。検証ルール(日付形式、エラーメッセージなどなど)を構成します。ブートストラップ検証フレームワークを統合し、フォームが送信されたときに日付入力を自動的に検証します。

ブートストラップナビゲーションバーの設定方法 ブートストラップナビゲーションバーの設定方法 Apr 07, 2025 pm 01:51 PM

ブートストラップは、ナビゲーションバーをセットアップするための簡単なガイドを提供します。ブートストラップライブラリを導入してナビゲーションバーコンテナを作成するブランドアイデンティティの作成ナビゲーションリンクの作成他の要素の追加(オプション)調整スタイル(オプション)

See all articles