66 lines
1.4 KiB
HTML
66 lines
1.4 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<style>
|
|
my-host {
|
|
display: block;
|
|
width: 100px;
|
|
height: 25px;
|
|
background: red;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<p>Test passes if you see a single 100px by 100px green box below.</p>
|
|
<my-host id="t1"></my-host>
|
|
<my-host id="t2" class="match"></my-host>
|
|
<my-host id="t3" class="no-match"></my-host>
|
|
<my-host id="t4" class="match"><div></div></my-host>
|
|
|
|
<script>
|
|
var host = document.querySelector('#t1');
|
|
host.attachShadow({ mode: 'open' }).innerHTML = `
|
|
<style>
|
|
:host > div {
|
|
background-color: green; width: 100%; height: 100%;
|
|
}
|
|
</style>
|
|
<div></div>
|
|
`;
|
|
|
|
var host = document.querySelector('#t2');
|
|
host.attachShadow({ mode: 'open' }).innerHTML = `
|
|
<style>
|
|
div { background-color: red; width: 100%; height: 100%; }
|
|
:host(.match) .descendant {
|
|
background-color: green;
|
|
}
|
|
</style>
|
|
<div><div class="descendant"></div></div>
|
|
`;
|
|
|
|
var host = document.querySelector('#t3');
|
|
host.attachShadow({ mode: 'open' }).innerHTML = `
|
|
<style>
|
|
div { background-color: green; width: 100%; height: 100%; }
|
|
:host(.match) div {
|
|
background-color: red;
|
|
}
|
|
</style>
|
|
<div></div>
|
|
`;
|
|
|
|
var host = document.querySelector('#t4');
|
|
host.attachShadow({ mode: 'open' }).innerHTML = `
|
|
<style>
|
|
:host(.match) ::slotted(div) {
|
|
background-color: green; width: 100%; height: 100%;
|
|
}
|
|
</style>
|
|
<slot></slot>
|
|
`;
|
|
|
|
</script>
|
|
</body>
|
|
</html>
|