52 lines
1.5 KiB
HTML
52 lines
1.5 KiB
HTML
<!doctype html>
|
|
<title>@container: originating element container for pseudo elements</title>
|
|
<link rel="help" href="https://drafts.csswg.org/css-conditional-5/#container-queries">
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<script src="support/cq-testcommon.js"></script>
|
|
<style>
|
|
#target { container-type: inline-size; }
|
|
#target::before,
|
|
#target::after,
|
|
#target::marker,
|
|
#target::first-line,
|
|
#target::first-letter,
|
|
#target::backdrop {
|
|
color: red;
|
|
}
|
|
@container (width >= 300px) {
|
|
#target::before,
|
|
#target::after,
|
|
#target::marker,
|
|
#target::first-line,
|
|
#target::first-letter,
|
|
#target::backdrop {
|
|
color: green;
|
|
}
|
|
}
|
|
</style>
|
|
<div id="outer" style="width: 200px">
|
|
<div id="target"></div>
|
|
</div>
|
|
<script>
|
|
setup(() => assert_implements_size_container_queries());
|
|
|
|
const green = "rgb(0, 128, 0)";
|
|
const red = "rgb(255, 0, 0)";
|
|
|
|
const pseudo_elements = ["::before", "::after", "::marker", "::first-line", "::first-letter", "::backdrop"];
|
|
|
|
pseudo_elements.forEach((pseudo_element) => {
|
|
test(() => {
|
|
assert_equals(getComputedStyle(target, pseudo_element).color, red);
|
|
}, `Initial color for ${pseudo_element}`);
|
|
});
|
|
|
|
outer.style.width = "300px";
|
|
|
|
pseudo_elements.forEach((pseudo_element) => {
|
|
test(() => {
|
|
assert_equals(getComputedStyle(target, pseudo_element).color, green);
|
|
}, `Color for ${pseudo_element} depending on container`);
|
|
});
|
|
</script>
|