mirror of
https://github.com/servo/servo.git
synced 2025-06-25 17:44:33 +01:00
60 lines
1.3 KiB
HTML
60 lines
1.3 KiB
HTML
<!DOCTYPE html>
|
|
<title>@scope - ShadowDOM</title>
|
|
<link rel="help" href="https://drafts.csswg.org/css-cascade-6/#scope-atrule">
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<script src="/resources/declarative-shadow-dom-polyfill.js"></script>
|
|
|
|
<div id=host_plain>
|
|
<template shadowrootmode=open>
|
|
<style>
|
|
@scope (:host) {
|
|
.a {
|
|
z-index: 1;
|
|
}
|
|
}
|
|
</style>
|
|
<div class=a>
|
|
</div>
|
|
</template>
|
|
</div>
|
|
<script>
|
|
setup(() => {
|
|
polyfill_declarative_shadow_dom(document);
|
|
});
|
|
|
|
test(() => {
|
|
let a = host_plain.shadowRoot.querySelector('.a');
|
|
assert_equals(getComputedStyle(a).zIndex, '1');
|
|
}, '@scope can match :host');
|
|
</script>
|
|
|
|
<div id=host_functional>
|
|
<template shadowrootmode=open>
|
|
<style>
|
|
@scope (:host(div)) {
|
|
.a {
|
|
z-index: 1;
|
|
}
|
|
}
|
|
/* Should not match: */
|
|
@scope (:host(span)) {
|
|
.a {
|
|
z-index: 42;
|
|
}
|
|
}
|
|
</style>
|
|
<div class=a>
|
|
</div>
|
|
</template>
|
|
</div>
|
|
<script>
|
|
setup(() => {
|
|
polyfill_declarative_shadow_dom(document);
|
|
});
|
|
|
|
test(() => {
|
|
let a = host_functional.shadowRoot.querySelector('.a');
|
|
assert_equals(getComputedStyle(a).zIndex, '1');
|
|
}, '@scope can match :host(...)');
|
|
</script>
|