キーテイクアウト
-
CSSでは、EMユニットは、EMが適用される要素の計算されたフォントサイズに等しくなります。 EMユニットがフォントサイズの定義がない子要素で宣言されると、親からフォントサイズ、または別の先祖要素から継承します。
- EMユニットは、コンポーネントレベルのスタイリングやコードのカプセル化セクションなどのモジュラーCSS手法でうまく機能します。コンポーネントの要素がすべて互いに比較的サイズであることを保証し、簡単にサイズを変更できるようにすることができます。 CSSのREMユニットは、計算されたフォントサイズに関係なく、ドキュメントのルート要素上のベースフォントサイズ設定から常にその値を継承します。そのため、REMを使用できますが、これは、その要素のフォントサイズを使用して、ページ上のすべてのコンポーネントを制御する必要があることを意味します。
- emユニットは、ピクセルにわたっていくつかの利点を提供します。それらはスケーラブルです。つまり、ユーザーのデフォルトのブラウザ設定またはデバイスの設定に基づいて調整します。これにより、フォントサイズを増やす必要がある視覚障害のあるユーザーがウェブサイトをよりアクセスしやすくします。 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です。これは、子要素のサイズが親要素のサイズに関連しているためです。
いくつかのメモ、欠陥など
デモでレンジスライダーを使用することからわかるように、このタイプの柔軟なサイズ変更は、必ずしも使用したいものではありません。やや制限される可能性があります。 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ユニットは相対的であるため、実際のサイズはコンテキストに基づいて変更できます。これにより、特にネストされた要素を備えた複雑なレイアウトでは、要素のサイズを予測するのが難しくなります。 はい、メディアクエリでEMユニットを使用できます。実際、メディアクエリでEMユニットを使用すると、設計の応答性が向上します。 EMユニットは相対的であるため、ユーザーのデフォルトのブラウザ設定またはデバイスの設定に基づいて調整します。これは、メディアクエリがビューポートのサイズだけでなく、ユーザーの設定に適応することを意味します。 ネストされた要素のサイズをEMユニットで計算するには、親要素のサイズにサイズを掛けます。たとえば、親要素のサイズが1.5EMで、子要素のサイズが2EMの場合、子要素の実際のサイズは1.5 * 2 = 3EMです。これは、子要素のサイズが親要素のサイズに関連しているためです。cssのEMユニットを持つネストされた要素のサイズを計算するにはどうすればよいですか?
以上がCSSのEMユニットの力の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

独自のコードをリファクタリングするのはどのように見えますか?ジョン・レアは、彼が書いた古いCSSアニメーションを選び、それを最適化するという思考プロセスを歩きます。

cssanimationsArenotintinlentyhardbutrepracticeanderstanding ofcsspropertiesandtimingfunctions.1)

@keyframesispopularduetoitsversitility andpowerincreatingsmoothcssanimations.keytricksinclude:1)defingsmoothtransitionsbetweenstates、2)AnimatingMultipleProperiessimally、3)3)bendorprefixesforbrows -compativity、4)組み合わせwithjavasfo

csScounterSareSareusedTomageautomaticinginginwebdesigns.1)それらは、コンテンツ、リスト、および積極的なものを使用することができます

特にモバイルデバイスでは、スクロールシャドウを使用することは、Chrisが以前にカバーした微妙なUXです。 Geoffは、アニメーションタイムラインプロパティを使用する新しいアプローチをカバーしました。これがさらに別の方法です。

簡単に復習してみましょう。画像マップはHTML 3.2に戻ります。ここで、最初にサーバー側マップを使用してから、マップとエリア要素を使用して画像上でクリック可能な領域を定義したクライアント側マップをマップしました。

State of Devsの調査は現在、参加に対して開かれており、以前の調査とは異なり、コードを除くすべてをカバーしています:キャリア、職場だけでなく、健康、趣味などもあります。

CSSグリッドは、複雑で応答性の高いWebレイアウトを作成するための強力なツールです。設計を簡素化し、アクセシビリティを向上させ、古い方法よりも多くの制御を提供します。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

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

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン
