2014-11-04 46 views
1

嗨,我們有我們婉設置CSSCSS在所有頁面的佔位符中,除了一個:howto?

.cms-index-noroute .col-main .std {font-weight: bold} 
.cms-index-list .col-main .std {font-weight: bold} 
.cms-index-view .col-main .std {font-weight: bold} 

我們寧願寫CSS像

.col-main .std {font-weight: bold} 

多頁,但有一個問題,它打破了選擇

網頁上的所有
.cms-index-index 

問:是否有一個CSS符號有.col-main .std {font-weight: bold} WOR k在所有頁面上除外它駐留的頁面在.cms-index-index佔位符。

+1

這是什麼標記?哪些元素有相關的類? – 2014-11-04 15:43:16

+0

全部DIV ........... – 2014-11-04 16:20:02

回答

4

你可以使用:not()child combinator,假設.cms-index-index.col-main父:

:not(.cms-index-index) > .col-main .std { 
 
    font-weight: bold; 
 
}
<div class='cms-index-noroute'><span class='col-main'><span class='std'>Span 1</span></span></div> 
 
<div class='cms-index-list'><span class='col-main'><span class='std'>Span 2</span></span></div> 
 
<div class='cms-index-view'><span class='col-main'><span class='std'>Span 3</span></span></div> 
 
<div class='cms-index-index'><span class='col-main'><span class='std'>Span 4</span></span></div>

+0

NOT可以容納多個選擇器嗎? – 2014-11-04 16:24:16

+0

@snh_nl是的,只需用逗號分開你的選擇器。 – George 2014-11-04 19:43:40

0

Check out this fiddle

.col-main .std { 
    font-weight: bold 
} 
.cms-index-index .col-main .std { 
    font-weight: normal 
} 

選擇器是更具體的會覆蓋上不是。

+1

謝謝。不過,我問,因爲有數以百計的CSS行適用於.std和許多範圍內的父選擇器。因此,我正在尋找一種不使所有代碼翻倍的方法。像「除非」 – 2014-11-04 16:22:56