CSS - :root



The :root CSS pseudo-class is designed to select the root element within a document's hierarchical structure. When applied to HTML, :root specifically points to the <html> element and behaves similarly to the `html` selector. Nonetheless, it's worth emphasizing that :root possesses greater specificity when compared to `html`. This selector includes all HTML elements or tags.

Using :root can be advantageous when declaring global CSS variables.

Syntax

 :root { // css declarations or property } 

CSS :root - Declaring Global CSS Variables

Here is the example that shows usage of :root for declaring global CSS variables −

 <html> <head> <style> :root { --main-color: blue; --secondary-color: white; } body { background-color: var(--main-color); } h1 { color: var(--secondary-color); } </style> </head> <body> <h1>Welcome to CSS Root Example</h1> <p>This is an example of using CSS root to define and use custom CSS variables.</p> </body> </html> 

CSS :root - Styling Elements

Following example demonstrates the usage of the :root selector for styling different elements −

 <html> <head> <title>:root Example</title> <style> :root { --primary-color: red; --secondary-color: blue; --background-color: lightyellow; } body { background-color: var(--background-color); color: var(--secondary-color); font-family: Arial, sans-serif; } h1 { color: var(--primary-color); } p { margin-bottom: 1rem; } .container { max-width: 800px; margin: 0 auto; padding: 2rem; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); } .button { display: inline-block; padding: 0.5rem 1rem; background-color: var(--primary-color); color: white; text-decoration: none; border-radius: 4px; } </style> </head> <body> <div class="container"> <h1>:root Example (set to --primary-color)</h1> <p>Font color set to --secondary-color</p> <p>The background color is set to --background-color</p> <a href="#" class="button">Demo</a> </div> </body> </html> 
Advertisements