CSS Selectors : Chaining and specificity
In the last exercise, instead of selecting all <h5> elements, you selected only the <h5> elements nested inside the .description elements. This CSS selector was more specific than writing only h5. Adding more than one tag, class, or ID to a CSS selector increases the specificity of the CSS selector.
For instance, consider the following CSS:
p {
color: blue;
}
.main p {
color: red;
}
Both of these CSS rules define what a <p> element should look like. Since .main p has a class and a p type as its selector, only the <p> elements inside the .main element will appear red. This occurs despite there being another more general rule that states <p> elements should be blue.
Instructions:
1.To show how specificity increases with additional selectors, let’s create another ruleset with the descendant combinator and then compare it to a ruleset without.
In style.css, write a ruleset using the descendant combinator to select the <h4> elements nested in the <li> elements. Inside of the curly braces, write:
color: gold;
Click Run and then scroll down the page to see the <h4> elements under “More Destinations” appear gold.
Hint:
Since the h4 is nested in the li, it would be the second selector in the descendant combinator.
parent-selector descendant-selector {
declaration}
2.Now, create a ruleset targeting elements with just the h4 type, and add a declaration of:
color: dodgerblue;
Will the <h4> elements turn blue? Click “Run” to find out.
The elements stay gold because there is a more specific selector for <h4> elements you wrote in the last step. Because of the more specific CSS selector (li h4), the more general selector of h4 will not take hold.
Hint:
Selecting an element by type is done with the opening tag name (in this case <h4>) without the angle brackets.
Comments
Post a Comment