2017-02-16 5 views
0

どのような方法でパフォーマンスが最善であるか知りたいのですが、この単純な一般的な例を考えれば、太字の下線付きと青色のテキストを含む要素が必要です。要素のCSSクラスは1つの特定のクラスに対してたくさんありますか?

私はこの方法を使用することができます。

<p class="bold underlined blue">Happy little clouds</p> 

または

<p class="bold-underlined-blue">Happy little trees</p> 

は最初は複数のクラスを明らかに生じるであろうが、これらのクラスの究極の再利用は、1を作るよりも良いように思わ非常に特殊なクラスですが、もう一方で、より多くのクラスを生成すると、これはパフォーマンスの影響があると推測します。

+0

再利用性がない場合は、他の多くのルールで 'font-weight:bold;'を定義します。だから、「パフォーマンスへの影響」は、あなたの最初の解決策では大したことではありません。 –

+1

パフォーマンス上、*具体例*では、2番目の方が優れています。 CSSファイルが小さければ小さいほど、ロードが速くなります。しかしここで真実にしよう - 再利用可能ではなく、各要素*の特定のクラスの実際のユースケースは何ですか?各要素に特定のクラスを作成した場合、ページ上の要素と同じ数のCSSルールが常に*少なくとも*存在します。あなたが再利用可能なクラスのために行くなら、あなたは100の要素とわずか10のルールを持つことができます。したがって、99.9%のケースでは、*再利用可能なクラス*が良い方法です。議決権行使は「主に意見に基づく」として終了する。 – Santi

+0

「主意見に基づく」一方通行が他よりも高速にレンダリングすると、それは私が求めていた問題であるが、その後、私は意見ベースではなく、私は信頼できるがありません – LouisColeman

答えて

2

以前のアプローチ(複数のクラスを使用)は間違いなく優れています。お互いのような

.bold { 
    font-weight: bold; 
} 

.underlined { 
    text-decoration: underline; 
} 

.blue { 
    color: blue; 
} 

しかし、あなたはまた、特定の組み合わせのためにそれらのスタイルを設定することができます:上記の例で

.bold.underlined.blue { 
    font-size: 18px; 
} 

font-sizeだけでなく、あなたは、要素が個別にスタイルすることができます対応する要素は、本質的に、それ自体で、後者の方法と同じであろうすべての3つのクラスを持っている場合にのみ適用される:)

なし特殊なクラスを使用するだけでより多才なことができますが、より高速です - ドキュメント全体でfont-weight: boldなどのスタイルを複数回再利用する可能性があるため、専用のクラスを使用すると、宣言を書く必要がなくなります。個々のセレクタに書き込む必要があります。

しかし、これらの特殊なクラスでは唯一、あなたが何度も再利用されます、物事のために作成されなければならない - 一度だけ使用されている何かのために特化したクラスを作成することは冗長になります。

希望すると便利です。

+0

OPは主にパフォーマンスの問題を懸念しています。あなたの答えと一緒にそれに対処してください。 –

+0

パフォーマンスを解決するための答えを更新しました:) –

関連する問題