Selector | Description |
—————–– | ———– |div span
| Descendant selector (all <span>
s that are descendants of a <div>
) |div > span
| Child selector (all <span>
s that are a direct child of a <div>
) |a ~ span
| General Sibling selector (all <span>
s that are siblings after an <a>
) |a + span
| Adjacent Sibling selector (all <span>
s that are immediately after an <a>
) |
Note: Sibling selectors target elements that come after them in the source document. CSS, by its nature (it cascades), cannot target previous or parent elements. However, using the flex order property, a previous sibling selector can be simulated on visual media.
selector selector
A descendant combinator, represented by at least one space character (``), selects elements that are a descendant of the defined element. This combinator selects all descendants of the element (from child elements on down).
div p {
color:red;
}
<div>
<p>My text is red</p>
<section>
<p>My text is red</p>
</section>
</div>
<p>My text is not red</p>
In the above example, the first two <p>
elements are selected since they are both descendants of the <div>
.
selector > selector
The child (\\>
) combinator is used to select elements that are children, or direct descendants, of the specified element.
div > p {
color:red;
}
<div>
<p>My text is red</p>
<section>
<p>My text is not red</p>
</section>
</div>
The above CSS selects only the first <p>
element, as it is the only paragraph directly descended from a <div>
.
The second <p>
element is not selected because it is not a direct child of the <div>
.
selector + selector
The adjacent sibling (\\+
) combinator selects a sibling element that immediate follows a specified element.