规则 CSS @scope
- Halaman Sebelumnya scale
- Halaman Berikutnya scroll-behavior
定义和用法
CSS @scope
规则允许您选择特定 DOM 子树中的元素。
通过此 @ 规则,您可以精确地定位元素,而无需编写过于具体的选择器。
此 @ 规则还减少了选择器与 DOM 结构之间的耦合。
实例
例子 1
在这里,我们使用两个独立的 @scope
块来匹配 .ex1 类和 .ex2 类中的 <a> 元素。:scope 用于选择和设置作用域根本身的样式。在此示例中,作用域根是应用了类的 <div> 元素:
@scope (.ex1) { :scope { background-color: salmon; padding: 10px; } a { color: maroon; } a:hover { color: blue; } } @scope (.ex2) { :scope { background-color: beige; padding: 10px; } a { color: green; } }
Lihat HTML berikut:
<div class="container"> <div class="news"> <h2>Some header</h2> <img src="example.jpg" alt="Some image"> </div> </div>
Di sini ada beberapa elemen <div> yang terdapat, jika kami ingin menetapkan gaya untuk <h2> dan <img> elemen di bagian container/news di atas, maka harus menulis seperti berikut (tanpa @scope):
Contoh 2
.container .news h2 { color: green; } .container .news img { border: 2px solid maroon; }
Dengan @scope
Aturan, Anda dapat menempatkan elemen dengan akurasian tanpa menulis pemilih yang terlalu kompleks, seperti berikut:
Contoh 3
Di sini, kami hanya menentukan .container komponen untuk <h2> dan <img> elemen, mengatur .container sebagai akar lingkungan aturan @scope:
@scope (.container) { h2 { font-size: 30px; color: green; } img { border: 5px solid maroon; } }
@scope
Aturan mengandung satu atau lebih kumpulan aturan dan dapat digunakan dalam dua cara:
- Sebagai blok terpisah dalam CSS, dalam hal ini, ia mengandung bagian awal, termasuk akar lingkungan dan pilihan pemilihan batas lingkungan — yang menentukan batas atas dan bawah lingkungan.
- Sebagai gaya rongga dalam HTML <style> elemen, dalam hal ini, bagian awal diabaikan dan aturan yang disertakan akan berlaku otomatis untuk elemen bapak <style>.
Contoh 4
“Lingkungan donut” hanya untuk elemen yang berada di antara dua elemen di pohon bapak. Ini adalah contoh:
@scope (.container) to (.news) { h2 { font-size: 30px; color: green; } img { border: 5px solid maroon; } }
CSS syntax
@scope (Akar lingkungan) { Kumpulan aturan }
atau
/* Lingkungan donut */ @scope (Akar lingkungan) to (Batas lingkungan) { Kumpulan aturan }
Dukungan browser
Angka di dalam jadwal menunjukkan versi paling awal penggunaan @ aturan yang sepenuhnya didukung browser.
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
118 | 118 | Tidak Diperkenalkan | 17.4 | 104 |
- Halaman Sebelumnya scale
- Halaman Berikutnya scroll-behavior