2012-02-27 92 views
1

我想選擇一個類下面的一個類,例如我有一個類名爲「A」的元素,在它下面,我有另一個類名爲「B」。在CSS類下選擇一個類

DOM中還有其他「B」的實例,但其中沒有一個實例,只有一個實例在「A」下。

要選擇下的 「A」 只有 「B」,我會用:

.A B { 

CSS HERE 

} 

還是我做錯了?

這裏的結構:

<h2 class="A"> 
<span>TITLECONTENT</span> 
</h2> 
<p>CONTENT</p> 
<div class="B" addthis:title="TITLECONTENT " addthis:url="URL"> 
+0

你試過了嗎? – BoltClock 2012-02-27 19:08:56

+0

是的,它沒有工作。這可能是一個不同的問題。我試圖隱藏所有具有特定類的元素,除了在特定類的元素下的元素。 – 2012-02-27 19:14:04

回答

4

沒有你忘了點,

.A .B { 

} 

(假設你的意思是你的HTML是這個樣子:)

<div class="A"> 
    <div class="B"></div> 
</div> 

每當你引用類,您使用. 每當您引用一個id,您使用# 每當您引用標籤名稱時,都不會使用前綴,例如div {}

用最少的specificity你需要針對不同的元素

定位與多個類別你追加二等沒有空間的元素:.one.two

瞄準的後代元素,您包括空間:.one .descendant

+0

謝謝!我以爲我可能有幾乎正確的語法,但不完全。 – 2012-02-27 19:09:39

+0

Hrm,無法正常工作。 – 2012-02-27 19:13:25

+0

現在顯示您的HTML和CSS – 2012-02-27 19:14:12

0

幾乎正確。 您必須做

.A .B < - 請注意B點之前B.

而且,如果將來你需要選擇同時具有',並在同一時間B的元素,你做這樣的:

.A.B 

這將目標像DIV CLASS =」 AB」,但不會針對DIV類=‘A’,也不DIV類=‘B’

2

最一般的形式是

.A .B { ... } 

這將針對與B類,其具有一個父與類A的任何元素,不管它SA直接父與否:

<span class="B"> 
    <span class="A" > 
    </span> 
</span> 

以及

<span class="B"> 
    <div> 
     <span class="A" > 
     </span> 
    <div> 
</span> 

如果.B.A直接孩子,你可以用這個目標是:

.A > .B { ... } 

CSS Child selector

0

您忘記了一個點,但如果您想要所有直接在A類元素下的B類元素,請使用大於號。所以A必須是B的直接親本。

.A > .B { 
    /* CSS here. */ 
}