mirror of
https://github.com/servo/servo.git
synced 2025-06-23 16:44:33 +01:00
66 lines
2.3 KiB
HTML
66 lines
2.3 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<title>CSS Scoping Module Level 1 - ::slotted pseudo element rule must apply to an element that got slotted via another slot</title>
|
|
<link rel="author" title="Ryosuke Niwa" href="mailto:rniwa@webkit.org"/>
|
|
<link rel="help" href="http://www.w3.org/TR/css-scoping-1/#slotted-pseudo">
|
|
<link rel="match" href="reference/green-box.html"/>
|
|
</head>
|
|
<body>
|
|
<style>
|
|
outer-host {
|
|
display: block;
|
|
width: 100px;
|
|
height: 100px;
|
|
background: red;
|
|
}
|
|
outer-host > * {
|
|
display: block;
|
|
width: 100px;
|
|
height: 25px;
|
|
}
|
|
</style>
|
|
<p>Test passes if you see a single 100px by 100px green box below.</p>
|
|
<outer-host>
|
|
<span slot="outer">FAIL1</span>
|
|
<span slot="inner">FAIL2</span>
|
|
<span slot="both">FAIL3</span>
|
|
</outer-host>
|
|
<template id="outer-host-template">
|
|
<inner-host>
|
|
<style>
|
|
::slotted([slot=outer]) { background: green; color: green; }
|
|
::slotted([slot=both]) { background: green; }
|
|
span { display: block; width: 100px; height: 25px; }
|
|
</style>
|
|
<slot name="outer"></slot>
|
|
<slot name="inner"></slot>
|
|
<slot name="both"></slot>
|
|
<span slot="inner">FAIL4</span>
|
|
</inner-host>
|
|
</template>
|
|
<template id="inner-host-template">
|
|
<style>
|
|
::slotted([slot=inner]) { background: green; color: green; }
|
|
::slotted([slot=both]) { color: green; }
|
|
</style>
|
|
<slot></slot>
|
|
<slot name="inner"></slot>
|
|
</template>
|
|
<script>
|
|
|
|
try {
|
|
var outerHost = document.querySelector('outer-host');
|
|
outerShadow = outerHost.attachShadow({mode: 'closed'});
|
|
outerShadow.appendChild(document.getElementById('outer-host-template').content.cloneNode(true));
|
|
|
|
var innerHost = outerShadow.querySelector('inner-host');
|
|
innerShadow = innerHost.attachShadow({mode: 'closed'});
|
|
innerShadow.appendChild(document.getElementById('inner-host-template').content.cloneNode(true));
|
|
} catch (exception) {
|
|
document.body.appendChild(document.createTextNode(exception));
|
|
}
|
|
|
|
</script>
|
|
</body>
|
|
</html>
|