“.class元素”和“element.class”有什么区别?

CSSselect器中的.class elementelement.class是否有区别? 我总是显示element.class但只是有一天偶然遇到一个CSS文件在工作有.class element并想知道这是否只是一个样式select(在这种情况下,我会使我的更改匹配),或者如果有一个特定的原因(在这种情况下,我不一定希望使我的更改匹配)。

element.classselect该类的所有<element />.class elementselect所有具有该类的元素的后代。

例如,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 */ } 

“element.class”select具有给定类的元素。

“.class元素”select所有具有给定类的元素的子元素。

例:

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

div.foo会selectdiv,而.foo p会select子节。 应该注意的是,如果没有通过“>”select器指定直接子对象,那么在查找子对象时将遍历整个文档树。

我喜欢这样想:

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

2,3) abba不一样。
2)同时属于ab的元素,也就是ab元素。 是范围select。
3) b元素。 是一个确切的select。

很简单的例子:

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;}