2011-01-25 55 views
1

如果我指定像關於CSS UL性能

.a ul{} 
.a ul li{} 

.b ul{} 
.b ul li{} 

將在.bul屬性從的.aul性質完全分開?或者他們會很普遍?

我想要的樣式的ul撐完全從ul風格.b分離,不使用div id。謝謝。

回答

3

,你在你的HTML確保你沒有內部class="b"元素,反之亦然,class="a"元素你選擇器將分開申請<ul>

他們只會是共同爲<ul> S IN兩者.a.b如果:

  • 你組的選擇,像這樣:

    .a ul, .b ul {} 
    .a ul li, .b ul li {} 
    
  • 您申報完全相同的樣式規則兩個選擇器

  • 在您的HTML中,<ul>包含在元素o ˚F兩個類(無論是class="a b".a.b.b.a),例如:

    <div class="a b"> 
        <ul><li>Item</li></ul> 
    </div> 
    
    <div class="b"> 
        <div class="a"> 
         <ul><li>Item</li></ul> 
        </div> 
    </div> 
    
    <div class="a"> 
        <div class="b"> 
         <ul><li>Item</li></ul> 
        </div> 
    </div> 
    

    注意,這僅完全適用,如果第二子彈也是如此;你可能由於the cascade的影響無法得到您期望的結果。

1

如果父母只有兩個類別中的一個,即.a.b,它們將完全不同。但是,如果父母同時擁有兩個班級,則取決於css hierarchy

+0

它也取決於如果一個類的東西嵌套在另一個類內。 – Endophage 2011-01-25 21:38:21

1

元素中class =「a」的任何uls都會得到.a樣式。任何在class =「b」中都會得到b樣式。

如果b嵌套在a中,則a和b樣式都會發生,除非在a和b中同時設置相同的屬性 - 在這種情況下b將優先。 例如

<div class="a"> 
<div class="b"> 
<ul> 
<li>...</li> etc 

如果在容器上限定類=「A B」,作爲澄清Boltclock,定義爲.a.b UL任何樣式將是最具體的,並覆蓋在某或.B所定義的相同的屬性。如果共享特性只能在.A存在,然後.B無論是在樣式表後宣佈只要優先

+1

不是100%正確但接近,嵌套更深的類只會優先考慮共享屬性。如果您應用多個課程,請按順序應用,從左到右。 – Endophage 2011-01-25 21:37:32

+0

好點 - 將闡明 – 2011-01-25 21:39:33