それは実際には非常に狡猾です。最初はそれについては考えていませんが、クラス階層を使用してかなりクリーバーなことを行うことができます。
たとえば、FacebookはUser-Agent HTTPヘッダーを使用して、bodyタグにブラウザー固有のクラスを設定します。常に使用されるわけではありませんが、ブラウザー固有のCSSを作成するために使用できます。これは、CSSの単なるクリーバー使用であり、ブラウザー固有のものを一般的なCSSルールと一緒にグループ化して、ローカル性を促進するため、他の多くの代替案よりも優れています。 CSSファイル。これは、CSSファイルを長期間維持する必要がある場合に重要です。
a { color: blue; }
.ie7 a { color: black; }
アンカータグの上記のCSSルールをCSSがどのように「カスケード」するかは、Internet Explorer 7でレンダリングすると、より具体的になります。これにより、セレクターの特殊性により、ハックやあいまいなCSSトリックなしで、IE7でアンカータグが黒くなります。
他の人が述べているように、JavaScriptを介して使用することもできます。CSSクラスをブールフラグとして使用すると非常に便利だと思います。たとえば、これを使用して非常に単純な透かしコントロールを作成できます。
<input type="text" value="watermark" class="watermark" />
$('input').focus(function(e) {
var target = $(this);
if (target.hasClass('watermark')) {
target.val('');
target.removeClass('watermark');
}
});
そのjQueryスニペットは問題なく機能しますが、ここでさらに微妙なのは、2つのことがあるということです。ロジックとスタイリングをワンショットで。ここでフラグとして使用されている透かしは、この入力の状態に応じて、CSSを介して特定の視覚スタイルを適用するためにも使用できるためです。たとえば、ウォーターマークがアクティブな場合、灰色がかったイタリックフォントを使用したくない場合があります。
このような例は他にもたくさんありますが、もっと実験してみてください。