ob-vaults/Phoenix/Web dev/html-css/css-selector.md
2024-09-12 17:54:01 +03:30

131 lines
3 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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 `<p>` 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 `<p>` element will be styled according to class="center" and to class="large": 
```css
<p class="center large">This paragraph refers to two classes.</p>
```
**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