62 lines
1.5 KiB
HTML
62 lines
1.5 KiB
HTML
<!DOCTYPE html>
|
|
<title>Custom Functions: @container style queries</title>
|
|
<link rel="help" href="https://drafts.csswg.org/css-mixins-1/#conditional-rules">
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<style>
|
|
#container, #target {
|
|
container-type: size;
|
|
}
|
|
#size-container {
|
|
container-type: size;
|
|
width: 100px;
|
|
height: 100px;
|
|
--x: size;
|
|
}
|
|
#parent {
|
|
--x: parent;
|
|
}
|
|
@function --f() {
|
|
result: A;
|
|
@container (style(--x: before)) {
|
|
result: B;
|
|
}
|
|
@container (style(--x: target)) {
|
|
result: C;
|
|
}
|
|
@container (style(--x: parent)) {
|
|
result: D;
|
|
}
|
|
@container (style(--x: size)) {
|
|
result: E;
|
|
}
|
|
}
|
|
#target {
|
|
--x: target;
|
|
--actual: --f();
|
|
}
|
|
#target::before {
|
|
content: "test";
|
|
--x: before;
|
|
--actual: --f();
|
|
}
|
|
</style>
|
|
|
|
<div id=size-container>
|
|
<div id=parent>
|
|
<div id=target>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<script>
|
|
test(() => {
|
|
assert_equals(getComputedStyle(target).getPropertyValue('--x'), 'target');
|
|
assert_equals(getComputedStyle(target).getPropertyValue('--actual'), 'D');
|
|
}, 'Style query on #target should query parent element');
|
|
|
|
test(() => {
|
|
assert_equals(getComputedStyle(target, '::before').getPropertyValue('--x'), 'before');
|
|
assert_equals(getComputedStyle(target, '::before').getPropertyValue('--actual'), 'C');
|
|
}, 'Style query on ::before should query originating element');
|
|
</script>
|