CSS 作用域
**CSS 作用域**模块定义了 CSS 作用域和封装机制,重点关注Shadow DOM作用域机制。
CSS 样式要么是全局作用域,要么作用域到阴影树。全局作用域样式应用于节点树中与选择器匹配的所有元素,包括该树中的自定义元素,但不应用于构成每个自定义元素的阴影树。选择器及其关联的样式定义不会跨作用域泄漏。
在阴影树的 CSS 内,选择器不会选择树外的元素,无论是全局作用域还是其他阴影树。每个自定义元素都有自己的阴影树,其中包含构成自定义元素的所有组件(但不包含自定义元素本身或“宿主”)。
有时能够从阴影树上下文内设置宿主样式非常有用。CSS 作用域模块通过定义以下选择器使这成为可能:
- 使阴影树能够设置其宿主的样式。
- 使外部 CSS 能够设置阴影 DOM 内元素的样式(但前提是关联的自定义元素已设置为接受外部样式)。
参考
选择器
指南
- Web 组件
-
介绍创建可重用 Web 组件的不同技术——自定义元素,其功能与代码的其余部分隔离。
- 使用 Shadow DOM
-
Shadow DOM 基础,包括将 Shadow DOM 附加到元素、添加到 Shadow DOM 树以及设置样式。
- 使用模板和插槽
-
使用
<template>
和<slot>
元素定义可重用 HTML 结构,并在 Web 组件内使用该结构。 - 使用自定义元素
-
介绍 Custom Elements API,用于创建封装功能的自定义元素的 JavaScript API。
相关概念
- CSS
:defined
伪类 - CSS
::part
伪元素 - HTML
<template>
元素 - HTML
<slot>
元素 - HTML
slot
属性 - 阴影树 词汇表条目
- DOM 词汇表条目
- 组合选择器 条目
- 选择器列表 条目
- Web 组件 接口、属性和方法
CustomElementRegistry
接口Element
APIHTMLSlotElement
接口HTMLTemplateElement
接口ShadowRoot
接口
规范
规范 |
---|
CSS 范围模块 1 级 |