2012-04-22 3 views
1

CSSセレクタのコンテナはありますか?CSSセレクタ(またはステートメント、コンテナ、セパレータなど)

クラスを繰り返すことなく、これを行うために、よりエレガントな方法があります場合、私は単に好奇心:

#div1 .divClass, #div2 .divClass { color:cyan; } 

は、これは私が考えていたものですが、私はそれを行うための方法はないと思います。あなたは普通のCSSにコンパイルすることができますスタイルシートでLESSのようなもの、を探しているよう

#div1,#div2 > .divClass { } 
[#div1,#div2] .divClass { } 
+0

利用できませんが、それは 'としてのGeckoやWebKitの中で再生されている:-moz-任意の()'と '-webkit-任意の()'それぞれ。これは、CSS4セレクタ仕様の ':matches()'として提案されています。 – BoltClock

答えて

2

短い回答:いいえ

両方のdivのクラスを追加できるようです。

<div id="div1" class="sharedClass"></div> 
<div id="div2" class="sharedClass"></div> 

.sharedClass > .divClass { color: cyan; } 

とにかく、この質問には複数の回答があります。 CSS機能を拡張するLESSを検討することを検討してください。そして、あなたはこのような素晴らしい何かを行うことができます:現在

.divClass { 
    /* ... */ 
} 

#div1 { 
    color: red; 
    border: 1px solid blue; 
    .divClass; 
} 

#div2 { 
    color: cyan; 
    border: 1px solid green; 
    .divClass; 
} 
1

が鳴ります。あなたの特定のケースであなたが何をしているのか正確には分からないかもしれません(しかし、やはり試していないかもしれませんが)。

+0

私は@ Karl-Nicollと同じ考えをしていましたが、自分でそれを手放しませんでしたが、あなたのCSSファイルのサイズを小さくするのに本当に便利だと聞きました。 – Michael

+0

レッスルはかなり甘いですね!私はそれを確認しなければならない、ありがとう。私は受け入れられた答えを選択する前にしばらく待つつもりです。 – Virux

+1

または[Sass](http://sass-lang.com/)の[@extend](http://sass-lang.com/docs/yardoc/file.SASS_REFERENCE.html#extend)(前回のI最低でもLESSにはこの能力がありませんでした)。 – steveax