目次
キーテイクアウト
CSSのEMSは何ですか?
いくつかのメモ、欠陥など
レムとサスはどうですか?
結論
CSSのEMユニットに関するよくある質問(FAQ)
CSSのEMユニットとREMユニットの違いは何ですか?
ピクセルをCSSのEMユニットに変換するにはどうすればよいですか?
CSSのフォントサイズ以外のプロパティにEMユニットを使用できますか?これには、幅、高さ、パディング、マージン、ラインハイトなどのプロパティが含まれます。これらのプロパティにEMユニットを使用すると、設計の比例関係を維持するのに役立ちます。
CSSでEMユニットを使用することに不利な点はありますか?
cssのEMユニットを持つネストされた要素のサイズを計算するにはどうすればよいですか?

CSSのEMユニットの力

Feb 28, 2025 am 09:52 AM

The Power of em Units in CSS

CSSのEMユニットの力

キーテイクアウト

    CSSでは、EMユニットは、EMが適用される要素の計算されたフォントサイズに等しくなります。 EMユニットがフォントサイズの定義がない子要素で宣言されると、親からフォントサイズ、または別の先祖要素から継承します。
  • EMユニットは、コンポーネントレベルのスタイリングやコードのカプセル化セクションなどのモジュラーCSS手法でうまく機能します。コンポーネントの要素がすべて互いに比較的サイズであることを保証し、簡単にサイズを変更できるようにすることができます。
  • CSSのREMユニットは、計算されたフォントサイズに関係なく、ドキュメントのルート要素上のベースフォントサイズ設定から常にその値を継承します。そのため、REMを使用できますが、これは、その要素のフォントサイズを使用して、ページ上のすべてのコンポーネントを制御する必要があることを意味します。
  • emユニットは、ピクセルにわたっていくつかの利点を提供します。それらはスケーラブルです。つまり、ユーザーのデフォルトのブラウザ設定またはデバイスの設定に基づいて調整します。これにより、フォントサイズを増やす必要がある視覚障害のあるユーザーがウェブサイトをよりアクセスしやすくします。 EMユニットは、親要素のフォントサイズに基づいて調整されるため、より柔軟で応答性の高いデザインも可能です。
CSSのすべての複雑な機能を使用すると、機能がどれほど強力であるかを見ると、常にそのターニングポイントがあります。そして、信じられないかもしれませんが、EMSとの私の個人的なターニングポイントは、私が主題のしゃれに満ちた紹介を書いた後もずっと来ました。 その時点ではEMSをかなりよく理解していましたが、サイジング(Web)コンポーネントと呼ばれる媒体に関するSimuraiの投稿を読んだとき、彼らがどれほど強力であるかを本当に見始めました。 だから私はこの投稿で彼のコートセールに乗るつもりです。ここでは、EMユニットの簡単な紹介があり、彼が説明するテクニックのライブデモンストレーションが続きます。

CSSのEMSは何ですか?

CSSでは、EMユニットは、EMが適用される要素の計算されたフォントサイズに等しくなります。 EMユニットがフォントサイズの定義がない子要素で宣言されると、親からフォントサイズ、または別の先祖要素から継承され、おそらくドキュメントのルート要素に戻ることができます。 次のCSSを見てください。
<span><span>.example</span> {
</span><span>font-size: 20px;
</span><span>}</span>
ログイン後にコピー
この場合、この要素またはその子要素(他のフォントサイズの定義がないと仮定)の1EMは、20pxに等しくなります。したがって、行を追加した場合:
<span><span>.example</span> {
</span><span>font-size: 20px;
</span><span>border-radius: .5em;
</span><span>}</span>
ログイン後にコピー
このボーダーラジウス値は.5EMです 10pxに計算します(つまり、20*.5)。同様に:
<span><span>.example</span> {
</span><span>font-size: 20px;
</span><span>border-radius: .5em;
</span><span>padding: 2em;
</span><span>}</span>
ログイン後にコピー
2EMのパディング値は40px(20*2)に相当します。前述のように、このタイプの計算は、任意の子要素にも適用されます。これらの子要素のいずれかが明示的に定義されたフォントサイズ値を持っていない限り、その場合、EM値はそれに基づいて計算されます。 CSSのどこにもフォントサイズが定義されていない場合、EMユニットはドキュメントのブラウザのデフォルトフォントサイズ(通常16px)に等しくなります。 EMSがどのように機能するかを明確にするはずだと思います。ここで、この手法を使用して、Simuraiが元のメディア記事で説明したように、簡単に再構成可能なWebコンポーネントを作成する方法を見てみましょう。これを実行するデモを提供することにより、彼のアイデアをさらに一歩進めます。 いつcss

でEMを使用するか EMユニットは、コンポーネントレベルのスタイリングや一般的なコードのカプセル化セクションなどのモジュラーCSS手法でうまく機能します。たとえば、コンポーネント(カードなど)の要素がすべて互いにサイズがすべてサイズになり、簡単にサイズを変更できるようにするために使用できます。 この手法は基本的に次のように機能します。Simuraiが「Trojan Horse」と呼び、コンポーネントまたはモジュール内のさまざまな要素のベースユニットを作成するように、フォントサイズのプロパティが使用されます。上記のように、EMユニットは親要素のルート定義のフォントサイズに基づいて計算されるため、これにより、親要素のフォントサイズを変更するだけでコンポーネント全体が簡単に再配置できます。 Codepenデモで動作しているこれを見てみましょう:
  • コンポーネント内のすべてはEMSのサイズがありますが、外側の境界(常に2pxのままにしたい)と画像を除きます。
  • 右上隅にある涙のようなものは擬似要素であり、同様に親のベースフォントサイズから恩恵を受けます。
  • CSSには、親のフォントサイズを調整する2つのメディアクエリも含まれています。繰り返しますが、これはメディアクエリのすべてのさまざまなサイズを変更する必要がないが、フォントサイズのみを変更する必要がないため、この手法の有用性を示しています。

    いくつかのメモ、欠陥など

    デモでレンジスライダーを使用することからわかるように、このタイプの柔軟なサイズ変更は、必ずしも使用したいものではありません。やや制限される可能性があります。 EM値の一部を微調整して、それらを好きな方法を取得する必要がある場合があります。デモの親ボーダーの場合のように、すべての要素にサイズの能力を適用したくない場合があります。除外したい要素のEMSを単に避けることで、これを簡単に克服できます。 Simuraiの元の記事に関する議論で説明されているように、Root Font-Sizeを設定するためにPXユニットを使用する必要はありません。そのためにもEMSを使用できますが、これは親から同じ方法で継承されることを覚えておいてください。

    レムとサスはどうですか?

    CSSのREMユニットは、計算されたフォントサイズに関係なく、ドキュメントのルート要素のベースフォントサイズ設定から常にその値を継承します。 HTMLでは、ルート要素は常にHTML要素です。したがって、REMSを使用できますが、これは、その要素のフォントサイズを使用して、ページ上のすべてのコンポーネントを制御する必要があることを意味します。特定のプロジェクトでは機能する可能性がありますが、この手法は、ドキュメント全体ではなく、孤立したコンポーネントに再サイズ性を集中させるときに最適に機能すると思います。 SASSのようなプリプロセッサを使用することに関しては、それが副点だと思います。最終的に、コンパイルされたStyleSheetは、SASSコードで使用しているユニットを使用し、継承は同じように機能します。

    結論

    すでに述べたように、Simuraiは、このテクニックをより広く知られていることの功績に値します。もちろん、彼が言及しているように、これは新しいものではなく、基本的な概念は長年にわたって多くの経験豊富な開発者によって使用されてきましたが、Webコンポーネントやモジュールのコンテキストではそれほどではないかもしれません。 Simuraiが言うように、これはCSSフレームワークまたはコンポーネントのライブラリを構築するときに使用するのに最適な方法だと思います。 もちろん、利用可能なCSSユニットはEMだけではありません。 CSSサイジングユニットの概要をご覧ください。

    CSSのEMユニットに関するよくある質問(FAQ)

    CSSのEMユニットとREMユニットの違いは何ですか?

    EMとREMの両方はCSSの相対単位ですが、値を計算する方法が異なります。 EMは、最も近い親のフォントサイズ、または現在の要素に関連しています。これは、要素のフォントサイズを1.2EMに設定すると、親のフォントサイズのサイズの1.2倍になることを意味します。一方、REMはルートまたはHTML要素に対して相対的です。そのため、要素のフォントサイズを1.2レムに設定すると、ルート要素のフォントサイズのサイズの1.2倍になります。これにより、remはemよりも予測可能で制御しやすくなります。

    ピクセルをCSSのEMユニットに変換するにはどうすればよいですか?

    ピクセルをEMユニットに変換するには、ドキュメントのベースフォントサイズを知る必要があります。ほとんどのブラウザのデフォルトのベースフォントサイズは16pxです。したがって、ピクセル値をEMに変換する場合は、ピクセル値をベースフォントサイズで除算します。たとえば、18pxをEMに変換する場合、18/16 = 1.125EMを実行します。それらはスケーラブルです。つまり、ユーザーのデフォルトのブラウザ設定またはデバイスの設定に基づいて調整します。これにより、フォントサイズを増やす必要がある視覚障害のあるユーザーがウェブサイトをよりアクセスしやすくします。 EMユニットは、親要素のフォントサイズに基づいて調整されるため、より柔軟で応答性の高い設計も可能になります。

    CSSのフォントサイズ以外のプロパティにEMユニットを使用できますか?これには、幅、高さ、パディング、マージン、ラインハイトなどのプロパティが含まれます。これらのプロパティにEMユニットを使用すると、設計の比例関係を維持するのに役立ちます。

    CSSのEMユニットのベースフォントサイズを設定するにはどうすればよいですか。たとえば、ベースフォントサイズを18pxにしたい場合は、次のように書きます。html{font-size:18px; }。 CSS内のすべてのEMユニットは、このベースフォントサイズに関連します。これは、子要素のサイズが予想よりも大きくなったり小さくなったりする複利効果につながる可能性があります。これを回避するために、remユニットを使用することができます。これは常にルート要素のサイズに関連しています。

    CSSでEMユニットを使用することに不利な点はありますか?

    EMユニットは多くの利点を提供しますが、ピクセルのような絶対ユニットよりも管理が困難になる可能性があります。 EMユニットは相対的であるため、実際のサイズはコンテキストに基づいて変更できます。これにより、特にネストされた要素を備えた複雑なレイアウトでは、要素のサイズを予測するのが難しくなります。 CSSのメディアクエリでEMユニットを使用できますか?

    はい、メディアクエリでEMユニットを使用できます。実際、メディアクエリでEMユニットを使用すると、設計の応答性が向上します。 EMユニットは相対的であるため、ユーザーのデフォルトのブラウザ設定またはデバイスの設定に基づいて調整します。これは、メディアクエリがビューポートのサイズだけでなく、ユーザーの設定に適応することを意味します。

    cssのEMユニットを持つネストされた要素のサイズを計算するにはどうすればよいですか?

    ネストされた要素のサイズをEMユニットで計算するには、親要素のサイズにサイズを掛けます。たとえば、親要素のサイズが1.5EMで、子要素のサイズが2EMの場合、子要素の実際のサイズは1.5 * 2 = 3EMです。これは、子要素のサイズが親要素のサイズに関連しているためです。

  • 以上がCSSのEMユニットの力の詳細内容です。詳細については、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衣類リムーバー

    Video Face Swap

    Video Face Swap

    完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

    ホットツール

    メモ帳++7.3.1

    メモ帳++7.3.1

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

    SublimeText3 中国語版

    SublimeText3 中国語版

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

    ゼンドスタジオ 13.0.1

    ゼンドスタジオ 13.0.1

    強力な PHP 統合開発環境

    ドリームウィーバー CS6

    ドリームウィーバー CS6

    ビジュアル Web 開発ツール

    SublimeText3 Mac版

    SublimeText3 Mac版

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

    HTML、CSS、JavaScriptを使用してアニメーションカウントダウンタイマーを作成する方法 HTML、CSS、JavaScriptを使用してアニメーションカウントダウンタイマーを作成する方法 Apr 11, 2025 am 11:29 AM

    プロジェクトにカウントダウンタイマーが必要だったことはありますか?そのようなことのために、プラグインに手を伸ばすのは自然なことかもしれませんが、実際にはもっとたくさんあります

    HTMLデータ属性ガイド HTMLデータ属性ガイド Apr 11, 2025 am 11:50 AM

    HTML、CSS、およびJavaScriptのデータ属性について知りたいと思っていたことはすべて。

    SASSをより速くするための概念の証明 SASSをより速くするための概念の証明 Apr 16, 2025 am 10:38 AM

    新しいプロジェクトの開始時に、SASSコンピレーションは瞬く間に起こります。これは、特にbrowsersyncとペアになっている場合は素晴らしい気分です。

    あなたが見ている間、CSSグラデーションは良くなりました あなたが見ている間、CSSグラデーションは良くなりました Apr 11, 2025 am 09:16 AM

    Lea verou&#039; conic-gradient()Polyfillの機能のリストに目を向けたことの1つが最後の項目でした。

    WordPressテーマでVueコンポーネントを構築する方法 WordPressテーマでVueコンポーネントを構築する方法 Apr 11, 2025 am 11:03 AM

    インラインテンプレートディレクティブにより、既存のWordPressマークアップに対する進行性の強化として、リッチVUEコンポーネントを構築できます。

    静的フォームプロバイダーの比較 静的フォームプロバイダーの比較 Apr 16, 2025 am 11:20 AM

    ここでは、「静的フォームプロバイダー」という用語を埋めてみましょう。あなたはあなたのHTMLを持ってきます

    3種類のコード 3種類のコード Apr 11, 2025 pm 12:02 PM

    新しいプロジェクトを開始するたびに、3つのタイプ、または必要に応じてカテゴリを検討しているコードを整理します。そして、これらのタイプは適用できると思います

    PHPはテンプレートのA-OKです PHPはテンプレートのA-OKです Apr 11, 2025 am 11:04 AM

    PHPテンプレートは、多くの場合、サブパーコードを促進するために悪いラップを取得しますが、そうである必要はありません。 PHPプロジェクトが基本を実施する方法を見てみましょう

    See all articles