Automatic update from web-platform-tests [ident] Support ident() for anchor names Bug: 384930424 Change-Id: Ie5d0de929f2c9328d61685f31c081d2f0e20e326 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6572134 Commit-Queue: Anders Hartvoll Ruud <andruud@chromium.org> Reviewed-by: Rune Lillesveen <futhark@chromium.org> Cr-Commit-Position: refs/heads/main@{#1463346} -- wpt-commits: 1e6d06a2b41c5adae0cb6416400f64c24216052e wpt-pr: 52686 Differential Revision: https://phabricator.services.mozilla.com/D250967
75 lines
2.6 KiB
HTML
75 lines
2.6 KiB
HTML
<!DOCTYPE html>
|
|
<title>CSS Anchor Positioning: The ident() function </title>
|
|
<link rel="help" href="https://drafts.csswg.org/css-values-5/#ident">
|
|
<link rel="help" href="https://drafts.csswg.org/css-anchor-position-1/">
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<script src="/css/support/computed-testcommon.js"></script>
|
|
<style>
|
|
#cb {
|
|
border: 1px solid black;
|
|
width: 100px;
|
|
height: 100px;
|
|
position: relative;
|
|
}
|
|
.anchor {
|
|
width: 15px;
|
|
height: 15px;
|
|
background-color: skyblue;
|
|
position: absolute;
|
|
top: 30px;
|
|
}
|
|
/* sibling-index() could make this nicer, but it's not universally
|
|
supported at the time of writing: */
|
|
.anchor:nth-child(1) { anchor-name: --a1; left: calc(20px * 1); }
|
|
.anchor:nth-child(2) { anchor-name: --a2; left: calc(20px * 2); }
|
|
.anchor:nth-child(3) { anchor-name: --a3; left: calc(20px * 3); }
|
|
#target {
|
|
width: 15px;
|
|
height: 15px;
|
|
background-color: tomato;
|
|
position: absolute;
|
|
position-anchor: --a1;
|
|
}
|
|
</style>
|
|
<div id=cb>
|
|
<div>
|
|
<div class=anchor></div>
|
|
<div class=anchor></div>
|
|
<div class=anchor></div>
|
|
</div>
|
|
<div id=target></div>
|
|
</div>
|
|
|
|
<script>
|
|
// Test the computed values of various anchor related properties:
|
|
|
|
let actual_ident = 'ident("--myident" calc(42 * sign(1em - 1px)))';
|
|
let expected_ident = '--myident42';
|
|
|
|
// https://drafts.csswg.org/css-anchor-position-1/#name
|
|
test_computed_value('anchor-name', actual_ident, expected_ident);
|
|
test_computed_value('anchor-name', `--tl, ${actual_ident}`,
|
|
`--tl, ${expected_ident}`);
|
|
test_computed_value('anchor-name', `${actual_ident}, ${actual_ident}`,
|
|
`${expected_ident}, ${expected_ident}`);
|
|
|
|
// https://drafts.csswg.org/css-anchor-position-1/#anchor-scope
|
|
test_computed_value('anchor-scope', actual_ident, expected_ident);
|
|
test_computed_value('anchor-scope', `--tl, ${actual_ident}`,
|
|
`--tl, ${expected_ident}`);
|
|
test_computed_value('anchor-scope', `${actual_ident}, ${actual_ident}`,
|
|
`${expected_ident}, ${expected_ident}`);
|
|
|
|
// https://drafts.csswg.org/css-anchor-position-1/#position-anchor
|
|
test_computed_value('position-anchor', actual_ident, expected_ident);
|
|
|
|
// Test ident() usage within anchor functions:
|
|
test_computed_value('left', 'anchor(--a1 left)', '20px');
|
|
test_computed_value('left', 'anchor(--a2 left)', '40px');
|
|
test_computed_value('left', 'anchor(--a3 left)', '60px');
|
|
test_computed_value('left', 'calc(anchor(--a1 left)*4)', '80px');
|
|
test_computed_value('width', 'calc(anchor-size(--a1)*2)', '30px');
|
|
test_computed_value('width', 'anchor-size(--a1)', '15px');
|
|
</script>
|