2013-06-11 98 views
1

我試圖縮短閱讀 例如爲了便於一些CSS選擇器:縮短複雜的CSS選擇器

.a>.c,.b>.c 

我想我有更多的選擇

繼續之前曾使用括號在過去集團工會
(.a,.b)>.c 

但似乎這是無效的CSS。

我是否曾夢想過之前做過這樣的事情,還是有一種簡單的方法?

我主要關心的是css的可讀性而不是字節數,但這是縮短選擇器的另一個顯而易見的優點,如上所述。

+0

在普通的CSS中,括號無效。 – j08691

回答

4

在CSS中不使用括號。請參閱Selectors Level 3 W3C Recommendation

如果.c是隻有永遠的.a孩子和.b,你可以簡單地使用:

.c { } 

如果.a.b.x不同(假設.x.c孩子),你可以給他們一個特定的類或data-* attribute

<div class="a t" <!-- or --> data-t><span class="c"></span></div> 
<div class="b t" <!-- or --> data-t><span class="c"></span></div> 
<div class="x"><span class="c"></span></div> 

和風格使用:

.t > .c { } 
/* Or */ 
[data-t] > .c { } 

否則,沒有什麼大的無法讀取關於你已經擁有的東西。如果你想讓它更容易閱讀,只需將它們分開一點,然後將每個選擇器放在一個新行上:

.a > .c, 
.b > .c { 
    ... 
} 
+0

感謝您的詳細解釋。 這個問題可能有些過分簡化。在我的現實世界中,「.c」實際上是「h1」。 我想避免給每個h1添加一個類。 在我的具體實際例子中,它實際上很簡單,但我可以看到它再次出現。 – DJL

+0

在這種情況下,您可以簡單地使用H1。 '.a> h1,.b> h1 {}'。 :-) –