status: #doc Tags: #html #css links: [[html-css]] Date: 2023-08-01 ___ # css selector CSS selectors are used to "find" (or select) the HTML elements you want to style. We can divide CSS selectors into five categories: - Simple selectors (select elements based on name, id, class) - [Combinator selectors](https://www.w3schools.com/css/css_combinators.asp) (select elements based on a specific relationship between them) - [Pseudo-class selectors](https://www.w3schools.com/css/css_pseudo_classes.asp) (select elements based on a certain state) - [Pseudo-elements selectors](https://www.w3schools.com/css/css_pseudo_elements.asp) (select and style a part of an element) - [Attribute selectors](https://www.w3schools.com/css/css_attribute_selectors.asp) (select elements based on an attribute or attribute value) This page will explain the most basic CSS selectors. --- ## The CSS element Selector The element selector selects HTML elements based on the element name. Here, all `
` elements on the page will be center-aligned, with a red text color: ```css p { text-align: center; color: red;} ``` --- ## The CSS id Selector The id selector uses the id attribute of an HTML element to select a specific element. The id of an element is unique within a page, so the id selector is used to select one unique element! ```css #para1 { text-align: center; color: red;} ``` **Note:** An id name cannot start with a number! --- ## The CSS class Selector The class selector selects HTML elements with a specific class attribute. To select elements with a specific class, write a period (.) character, followed by the class name. In this example all HTML elements with class="center" will be red and center-aligned: ```css .center { text-align: center; color: red;} ``` You can also specify that only specific HTML elements should be affected by a class. ```css p.center { text-align: center; color: red;} ``` HTML elements can also refer to more than one class. In this example the `
` element will be styled according to class="center" and to class="large": ```css
This paragraph refers to two classes.
``` **Note:** A class name cannot start with a number! --- ## The CSS Universal Selector The universal selector `(*)` selects all HTML elements on the page. The CSS rule below will affect every HTML element on the page: ```css * { text-align: center; color: blue;} ``` --- ## The CSS Grouping Selector The grouping selector selects all the HTML elements with the same style definitions. the h1, h2, and p elements have the same style definitions: ``` css h1 { text-align: center; color: red;} h2 { text-align: center; color: red;} p { text-align: center; color: red;} ``` we have grouped the selectors from the code above: ```css h1, h2, p { text-align: center; color: red;} ``` --- # References https://www.w3schools.com/css/css_selectors.asp