Tag: selector

CSS Selectors

CSS Selectors

To select DOM elements in CSS using selector.

Tag Selector

a {
  color: black;
}

h1 {
  font-size 24px;
}

Single selector

Selector Description
article Selects the element with the article tag
.post Selects all elements with the post class
#nav Selects the elements with the nav Id
div.row Selects all elements with the div tag and the row class
[hidden="true"] Selects all elements with the hidden attribute with a value of true

Note: Wildcard selector can be used to select all DOM elements.

Combine selector

Selector Description
div li DOM descendant combinator. All li tags that are a child of div tags
div.row * Selects all elements that are descendant (or child) of the elements with div tag and row class
div > li Difference combinator. Select direct descendants
div + li the adjacent combinator. It selects the element that is immediately preceded by the former element. In this case, only the first li after each div.
div, li Selects all li elements and all div elements.
div - li The sibling combinator. Selects li element following a div element.

Pseudo-selectors

Position of an element

Selector Description
:first-child Target the first element immediately inside (or child of) another element
:last-child Target the last element immediately inside (or child of) another element
:nth-child() Target the nth element immediately inside (or child of) another element. Admits integers, even, odd, or formulas
div:not(.name) Selects all div elements that are not of the .name class
::after Allows inserting content onto a page from CSS, instead of HTML. While the end result is not actually in the DOM, it appears on the page as if it is. This content loads after HTML elements.
::before Allows inserting content onto a page from CSS, instead of HTML. While the end result is not actually in the DOM, it appears on the page as if it is. This content loads before HTML elements.

State of an element

Selector Description
:hover selects an element that is being hovered by a mouse pointer
:focus selects an element receiving focus from the keyboard or programattially
:active selects an element being clicked by a mouse pointer
:link selects all links that have not been clicked yet
:visited selects a link that has already been clicked

Example

The :nth-child can use pattern, such as odd, even, An+B

a:nth-child(3n) {
  /* Css goes here */
}