CSS scoping
Module CSS scoping định nghĩa các cơ chế scoping và đóng gói CSS, tập trung vào cơ chế scoping của Shadow DOM.
Các style CSS có phạm vi toàn cục hoặc được scoped vào một shadow tree. Các style toàn cục áp dụng cho tất cả các phần tử trong cây node khớp với selector, bao gồm các custom element trong cây đó, nhưng không áp dụng cho các shadow tree tạo nên mỗi custom element. Các selector và định nghĩa style liên quan của chúng không rò rỉ giữa các scope.
Trong CSS của một shadow tree, các selector không chọn các phần tử bên ngoài cây, dù trong phạm vi toàn cục hay trong các shadow tree khác. Mỗi custom element có shadow tree riêng của nó, chứa tất cả các thành phần tạo nên custom element đó (nhưng không bao gồm chính custom element, hay "host").
Đôi khi sẽ hữu ích khi có thể tạo style cho một host từ bên trong ngữ cảnh shadow tree. Module CSS scoping làm điều này có thể bằng cách định nghĩa các selector:
- Cho phép một shadow tree tạo style cho host của nó.
- Cho phép CSS bên ngoài tạo style cho các phần tử trong một Shadow DOM (nhưng chỉ khi custom element liên quan được thiết lập để chấp nhận style bên ngoài).
Tham khảo
>Selectors
Hướng dẫn
- Web components
-
Giới thiệu về các công nghệ khác nhau được dùng để tạo các web component có thể tái sử dụng — các custom element có chức năng được đóng gói riêng biệt với phần còn lại của code.
- Using shadow DOM
-
Các kiến thức cơ bản về Shadow DOM, bao gồm việc gắn Shadow DOM vào một phần tử, thêm vào cây Shadow DOM và tạo style.
- Using templates and slots
-
Định nghĩa cấu trúc HTML có thể tái sử dụng bằng các phần tử
<template>và<slot>, và sử dụng cấu trúc đó bên trong các web component. - Using custom elements
-
Giới thiệu về Custom Elements API, JavaScript API được dùng để tạo các custom element đóng gói chức năng.
Khái niệm liên quan
-
Pseudo-class CSS
:defined -
Pseudo-element CSS
::part -
Phần tử HTML
<template> -
Phần tử HTML
<slot> -
Thuộc tính HTML
slot -
Thuật ngữ glossary Shadow tree
-
Thuật ngữ glossary DOM
-
Thuật ngữ Compound selector
-
Thuật ngữ Selector list
-
Interfaces, thuộc tính và phương thức của Web components
- Interface
CustomElementRegistry - API
Element- Thuộc tính
Element.slot - Thuộc tính
Element.assignedSlot - Phương thức
Element.attachShadow()
- Thuộc tính
- Interface
HTMLSlotElement - Interface
HTMLTemplateElement - Interface
ShadowRoot
- Interface
Đặc tả kỹ thuật
| Specification |
|---|
| CSS Scope> |
Xem thêm
- CSS selectors module
- CSS pseudo elements module
- CSS namespaces module
- CSS shadow-parts module
- Template, slot, and shadow on web.dev (2023)
- Custom element best practices on web.dev (2019)