What is the different between .class.class
and .class .class
?
5 Answers
.class .class
matches any elements of class .class
that are descendants of another element with the class .class
.
.class.class
matches any element with both classes.
-
4
-
5@ClarusDignus , in case of .class.class, order doesn't matter. Here is fiddle. Commented Sep 28, 2016 at 8:58
-
.name1.name2
means a
div
or anelement
having both classes together, for example:<div class="name1 name2">...</div>
.name1 .name2
means a
div
or anelement
which has a classname1
and any of its child nodes having classname2
<div class="name1"> <div class="name2"> ... </div> </div>
.class1.class2
Element that has both class1
and class2
set within it's class
attribute (like that: class="class1 class2"
)
.class1 .class2
Element with class2
that is a descendant of an element with class1
class
-
3
-
Yet I can't even read it without getting confused lol and im a webdev– branditoCommented Mar 27, 2018 at 1:52
-
@nbro no, this is more easy to understand stackoverflow.com/a/17391614/8618055 Commented Dec 16, 2019 at 5:04
.class.class
can also be used to avoid the use of !important
in case that a higher specificity selector prevents your rule from being applied.
In this case there are not two classes in the HTML element. You only repeat the class which specificity you want to increase in the style (selector), like
(HTML) <div class="something">...</div>
(CSS) .something.something {}
.class1.class2: Selects all elements with class2 that is a descendant of an element with class1
.class1 .class2: Selects all elements with both class1 and class2 set within its class attribute
Lets see with code example:
.class1.class2{
color: red;
}
.class1 .class2{
color: blue;
}
<div class="class1 class2">
Hi I am ".class1.class2" selector
</div>
<div class="class1">
<p class="class2">
Hi I am ".class1 .class2" selector
</p>
</div>
Jsfiddle link for better ref: https://jsfiddle.net/srikrushna_pal/16dw3n0u/3/
class
which has a parent which has the classclass
class1
andclass2