CSS selectors allow us to choose specific elements and apply styles to them. Suppose we want to add a custom style to only a specific tag(s). There, We can make use of CSS selector.
Note:- There is also Attribute Selector.
* {
property : value;
}
<html>
<head>
<style>
* {
color: purple;
text-align: center;
}
</style>
</head>
<body>
<p>Welcome to </p>
<h1>CodeWithHarry</h1>
</body>
</html>
Output:
Notice, Irrespective of the tag, the style will be applied to all the elements and tags.
<p>
tags; in this case, the element selector will be the best choice.p {
property : value;
}
<html>
<head>
<title>CSS</title>
<style>
p{
text-decoration: underline;
}
</style>
</head>
<body>
<h1>CodeWithHarry</h1>
<h2>we offer: </h2>
<p>Python Tutorials - 100 Days of Code</p>
<p>Ultimate JavaScript Course</p>
<p>React JS Tutorials For Beginners</p>
</body>
</html>
Note: Element selector is not recommended as the same tag can be used multiple times in the document. So, overlapping rules can occur in the stylesheet.
[[ID]] {
property : value;
}
<html>
<head>
<style>
[[title]] {
text-align: center;
color: red;
}
</style>
</head>
<body>
<h1 id="title">CodeWithHarry</h1>
<p>I'm a Developer and the founder of CodeWithHarry.com</p>
</body>
</html>
In the style block, the selector #title, will only target the HTML element having an ID of "title".
Notice, how the property color: red is only applied to <h1>
tag.
The class selector does the same job as the id selector, a class selector helps group various types of elements.
Suppose, we want to give a custom style to a specific group of elements. In this case, the class selector is the best option.
It is written with the period “**.**” character followed by the class name in the style sheet.
The syntax of Class Selector is as follows:
.class {
property : value;
}
Consider the code snippet:
<html>
<head>
<title>CSS</title>
<style>
.red {
color: red;
}
</style>
</head>
<body>
<p>This is simple p tag</p>
<p class="red">This p tag has class red</p>
<p>This is simple p tag</p>
<p class="red">This p tag has class red</p>
</body>
</html>
In the above code snippet, the color:red will only be applied to the element having class 'red'.
Note: The class selector helps in grouping two or more elements.
The syntax of Group Selector is as follows:
div, p, a {
property : value;
}
Consider the code snippet:
<html>
<head>
<title>CSS</title>
<style>
h1 {
color: red;
}
p,a {
color: purple;
}
</style>
</head>
<body>
<h1>CodeWithHarry</h1>
<p>This is the p tag</p>
<a href="#">This is the anchor (a) tag</a>
</body>
</html>
In the <style>
block, p and a tag are grouped together so, that both tags will have the same properties.
The [attribute] selector is used to select elements with a specified attribute.
Syntax:-
element[attribute] {
background-color: yellow;
}
Example:-
a[href="youtube.com"] {
color: blue;
}
/* all <a> tag with YouTube.com link will be blue */
*
): Target the entire page.