Css 简明教程

CSS - root

:root CSS 伪类旨在在文档的层次结构中选择根元素。在应用于 HTML 时, :root 特别指向 <html> 元素,并作用类似于 html 选择器。尽管如此,值得强调的是,与 html 相比, :root 具有更高的特异性。此选择器包含所有 HTML 元素或标签。

在声明全局 CSS 变量时,使用 :root 可能是有利的。

Syntax

:root {
  // css declarations or property
  --main-color: blue;
  --secondary-color: white;
}

CSS root - Declaring Global CSS variables

以下是显示 :root 用法的示例 -

<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 Different Elements

下面是另一个示例,演示了使用 :root 选择器设置不同元素样式的情况 −

<html>
<head>
<title>:root Example</title>
<style>
   :root {
      --primary-color: #007bff;
      --secondary-color: #6c757d;
      --background-color: #fcfc90;
   }

   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;
      background-color: LightYellow;
      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</h1>
      <p>This is an example of using the <code>:root</code> selector to define global CSS variables.</p>
      <p>The primary color is set to <span style="color: var(--primary-color);">var(--primary-color)</span>.</p>
      <p>The secondary color is set to <span style="color: var(--secondary-color);">var(--secondary-color)</span>.</p>
      <p>The background color is set to <span style="background-color: var(--background-color); color: white;">var(--background-color)</span>.</p>
      <a href="#" class="button">Demo</a>
   </div>
</body>
</html>