私はWebデザイナーやプログラマーではあまりありませんが、CSSクラスでこの問題に遭遇しているようです。属性を共有するCSSクラスのセットを管理する最良の方法は何ですか?スタイルの組み合わせを管理する方法:複数のクラス、特定のクラス、またはコンテキスト?
たとえば、私は現在、ファイル転送のステータスを表すステータスバーを持つアプリケーションを作成しています。それは3つの異なる場所で使用され、それぞれは異なるサイズです。さらに、転送が失敗した場合、バーは異なる色にする必要があります。
一般に、最適なアプローチ何ですか:
- 独立したdivに「ステータスバー」と「転送失敗」のクラスを追加し、その組み合わせ存在するかどうかを確認?
- "statusbar"クラスと "statusbar-failed"クラスを用意し、クラスを適切に設定し、慎重なCSS構造化を使用してコードを繰り返さないようにしてください。
- 「ステータスバー」クラスを持っていて、「サマリー」テーブル内のdivや「転送に失敗した」divのようなコンテキストを使用して、さらに専門化します。
一般的なルールはありますか?アプローチ3は、一見無関係なクラスの名前を変更すると、物が壊れる可能性があるため、壊れやすいようです。アプローチ1は、何らかの形で、何か別のクラスがなければ無意味である "失敗"のようなクラスを持ち、異なるコンテキストで異なることを意味するかもしれません(例えば失敗したフォームの検証にも "失敗"時には扱いにくくなり、長い名前の非常に特殊なクラスがたくさんあります。
コンテキストセレクタの[CSSでの第二の天性](http://www.w3.org/TR/CSS1/#contextual-selectors)です。あなたは毎日それを使います。 – BoltClock