CSS Selectors
- ★ CSS selectors are used to find/select HTML elements based on their element name, id, class, attribute, and more.
CSS element name selector
- ★ The name selector selects elements based on the element name.
- ★ This is what we leart in the previous lecture:
p{
text-align: center;
color: red;
}
CSS id Selector
- ★ The id selector uses the id attribute of an HTML element to select a specific element.
- ★ The id of an element should be unique within a page, so the id selector is used to select one unique element.
- ★ To select an element with a specific id, write a hash(#) character, followed by the id of the element.
- ★
Note that:
an id name can not start with a number!
#para1 {
text-align: center;
color: red;
}
<p id="para1">Hello World!</p> <p>This paragraph is not affected by the style.</p>
CSS class Selector
- ★ The class selector selects elements with a specific class attribute.
- ★ To select elements with a specific class, write a period(.) character, followed by the name of the class.
- ★ Note that: a class name can not start with a number!
.center {
text-align: center;
color: red;
}
<h1 class="center">Red and center-aligned heading</h1> <p class="center">Red and center-aligned paragraph.</p>
CSS Grouping Selector
- ★ The grouping selector selects all the HTML elements with the same style definitions.
- ★ Look at the following CSS code (the h1, h2, and p elements have the same style definitions):
h1 {
text-align: center;
color: red;
}
h2 {
text-align: center;
color: red;
}
p {
text-align: center;
color: red;
}
h1, h2, p {
text-align: center;
color: red;
}
multiple Selector
- ★ It is possible to nest HTML elements inside one another
<div>
<div>
<p>This is a paragraph in nested divisions.</p>
</div>
</div>
div div p {
color:red;
}
Parents, children, siblings
- ★ If you think of the <html> tag as the trunk of the tree, you can think of its immediate branches <head> and <body> as its children.
- ★ Both tags are children of <html>, and <html> is their parent element. Because they are both immediate children of <html> (that is, they are both only one element away), they are siblings.
first child selector
- ★ It’s used to apply styling to only the elements that are the first children of their parents.
p:first-child{
color: red;
}
Example:
✅ Works (First Child)
<div>
<p>This paragraph will be red.</p>
<p>This paragraph will NOT be red.</p>
</div>
Explanation:
The first <p> inside the <div> is the first child, so it turns red.
❌Won't Work (Not First Child)
<div>
<h2>Heading</h2>
<p>This paragraph will NOT be red.</p>
<p>Neither will this one.</p>
</div>
Explanation: The <h2> is the first child of <div>, so the first <p> is not affected by p:first-child.
nth child selector
- ★ You can actually select any child of an element after the first child with the selector nth-child; you just add the child’s number in parentheses after the pseudo-class selector.
- ★ For example, the following would turn every paragraph that is the second child of its parent element red.
p:nth-child(2){
color: red;
}
Example:
✅ Works (Second Child)
<div>
<p>First paragraph (not red).</p>
<p>Second paragraph (red).</p>
<p>Third paragraph (not red).</p>
</div>
Explanation:
The second <p> is the second child of <div>, so it turns red.
❌Won't Work (Not Second Child)
<div>
<p>First paragraph (not red).</p>
<h1>Heading (not red).</h1>
<p>Third paragraph (not red).</p>
</div>
Explanation:
The <h1> is the second child of <div>, so the first <p> and third <p> will not be affected by p:nth-child(2).
Styling HTML Table with nth-child
| Country | Capital | Continent |
|---|---|---|
| United States | Washington, D.C. | North America |
| France | Paris | Europe |
| China | Beijing | Asia |
| Brazil | Brasília | South America |
| Nigeria | Abuja | Africa |
| Australia | Canberra | Oceania |
| Antarctica | None | Antarctica |