2011-05-16 90 views
38

是否有一個CSS選擇器.class elementelement.class之間的差異?我一直被證明element.class但整個工作一個CSS文件,該文件有.class element,想知道這是否是隻是一種風格選擇(在這種情況下,我會做我的變化匹配),或者如果有一個特定的只是有一天來了原因(在這種情況下,我不一定希望使我的更改匹配)。「.class元素」和「element.class」之間有什麼區別?

+1

有趣的問題,我也搞不清楚這些東西.. – Jomia 2012-05-17 09:59:05

+1

燁..很好的問題。 – mahela007 2013-02-05 11:02:13

回答

52

element.class與該類選擇所有<element />秒。 .class element選擇所有具有該類別的元素的後代的所有<element />

例如,HTML:

<div class='wrapper'> 
    <div class='content'></div> 
    <div></div> 
    <div class='footer'></div> 
</div> 

例如,CSS:

div.wrapper { 
    background-color: white; /* the div with wrapper class will be white */ 
} 

.wrapper div { 
    background-color: red; /* all 3 child divs of wrapper will be red */ 
} 
+0

所以使用後者,我們可以跳過一個級別,避免更多的嵌套,以保持簡單。 – FaithReaper 2017-12-15 10:48:22

11

「element.class」 選擇具有給定類的元件。

「的.class元素」選擇是與某一類東西的孩子的所有元素。

例子:

<div class="foo"> 
    <p>...</p> 
</div> 

div.foo將選擇div,而.foo p會選擇子段落。應該注意的是,如果沒有通過「>」選擇器指定直接的孩子,這將在尋找孩子時遍歷整個文檔樹。

-2

很簡單的例子:

HTML:

<ul class="a"> 
<li>1</li> 
<li class="a">2</li> 
<li>3</li> 
</ul> 

CSS:

.a li{color:blue;} 
li.a{color:red;} 
+1

與[已經接受的答案](http://stackoverflow.com/a/6023440/215552)有什麼不同? – 2017-01-23 22:32:51

+0

歡迎來到Stack Overflow。在回答問題之前,請查看問題的其他答案,並且只提供您自己的答案,如果您有添加的信息尚未由其他發佈者提供。在這種情況下,你的答案不會被認爲是非常有價值的,因爲你根本沒有解釋任何東西,但是它特別令人震驚,因爲五年前寫得非常好的答案已經被接受並得到了投票。 – AmericanUmlaut 2017-01-23 22:49:36

0

我喜歡把它如下:

1) a, b = a OR b 
2) a b = a AND b (on that order) 
3) a.b = a.b  (on that order) 

2,3)ab不等於b a。屬於一個b同時,即也不一個b元件
2)元素。是範圍選擇。
3)b類的元件。是一個確切的選擇。

相關問題