CSS

CSS Selectors

 

CSS Selectors

CSS selectors are used to “find” (or select) the HTML elements you want to style.

We can divide CSS selectors into five categories:

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: 

 

{
  text-align: center;
  color: red;
}

<!DOCTYPE html>

<html>

<head>

<style>

p {

  text-align: center;

  color: red;

</style>

</head>

<body>

 

<p>Every paragraph will be affected by the style.</p>

<p id=”para1″>Me too!</p>

<p>And me!</p>

 

</body>

</html>

 

Every paragraph will be affected by the style.

Me too!

And me!

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!

To select an element with a specific id, write a hash (#) character, followed by the id of the element.

The CSS rule below will be applied to the HTML element with id=”para1″:

#para1 {
  text-align: center;
  color: red;
}

<!DOCTYPE html>

<html>

<head>

<style>

#para1 {

  text-align: center;

  color: red;

}

</style>

</head>

<body>

 

<p id=”para1″>Hello World!</p>

<p>This paragraph is not affected by the style.</p>

 

</body>

</html>

 

Hello World!

This paragraph is not affected by the style.

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: 

.center {
  text-align: center;
  color: red;
}

<!DOCTYPE html>

<html>

<head>

<style>

.center {

  text-align: center;

  color: red;

}

</style>

</head>

<body>

 

<h1 class=”center”>Red and center-aligned heading</h1>

<p class=”center”>Red and center-aligned paragraph.</p> 

 

</body>

</html>

 

Red and center-aligned heading

Red and center-aligned paragraph.

You can also specify that only specific HTML elements should be affected by a class.

In this example only <p> elements with class=”center” will be center-aligned: 

 

p.center {
  text-align: center;
  color: red;
}

<!DOCTYPE html>

<html>

<head>

<style>

p.center {

  text-align: center;

  color: red;

}

</style>

</head>

<body>

 

<h1 class=”center”>This heading will not be affected</h1>

<p class=”center”>This paragraph will be red and center-aligned.</p> 

 

</body>

</html>

 

This heading will not be affected

This paragraph will be red and center-aligned.

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”: 

<!DOCTYPE html>

<html>

<head>

<style>

p.center {

  text-align: center;

  color: red;

}

 

p.large {

  font-size: 300%;

}

</style>

</head>

<body>

 

<h1 class=”center”>This heading will not be affected</h1>

<p class=”center”>This paragraph will be red and center-aligned.</p>

<p class=”center large”>This paragraph will be red, center-aligned, and in a large font-size.</p> 

 

</body>

</html>

 

This heading will not be affected

This paragraph will be red and center-aligned.

This paragraph will be red,

 

 center-aligned, and in a large 

 

font-size.

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:

{
  text-align: center;
  color: blue;
}

<!DOCTYPE html>

<html>

<head>

<style>

* {

  text-align: center;

  color: blue;

}

</style>

</head>

<body>

 

<h1>Hello world!</h1>

 

<p>Every element on the page will be affected by the style.</p>

<p id=”para1″>Me too!</p>

<p>And me!</p>

 

</body>

</html>

 

Hello world!

Every element on the page will be affected by the style.

Me too!

And me!

The 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;
}

{
  text-align: center;
  color: red;
}

It will be better to group the selectors, to minimize the code.

 

To group selectors, separate each selector with a comma.

h1, h2, p {
  text-align: center;
  color: red;
}

h1, h2, p {
  text-align: center;
  color: red;
}

<!DOCTYPE html>

<html>

<head>

<style>

h1, h2, p {

  text-align: center;

  color: red;

}

</style>

</head>

<body>

 

<h1>Hello World!</h1>

<h2>Smaller heading!</h2>

<p>This is a paragraph.</p>

 

</body>

</html>

 

Hello World!

Smaller heading!

This is a paragraph.