1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
|
<!DOCTYPE html>
<link rel="help" href="https://drafts.csswg.org/css-anchor-position-1/">
<title>Tests the position and available-size of 'anchor-center' alignment with different insets.</title>
<style>
.container {
width: 100px;
height: 100px;
border: solid 3px;
position: relative;
margin: 50px;
}
.anchor {
anchor-name: --anchor;
position: relative;
width: 50px;
height: 50px;
left: 40px;
top: 40px;
background: lime;
}
.target {
writing-mode: vertical-rl;
position-anchor: --anchor;
position: absolute;
background: cyan;
align-self: anchor-center;
right: anchor(left);
width: 20px;
}
/* used to test the available-size given to the element */
.target::after {
color: transparent;
content: 'a a a a a a a a a a a a a a a a a a';
}
</style>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/check-layout-th.js"></script>
<body onload="checkLayout('.target')">
<!-- no insets -->
<div class="container">
<div class="anchor"></div>
<div class="target" data-expected-height="100" data-offset-y="0"></div>
</div>
<div class="container">
<div class="anchor"></div>
<div class="target" style="max-height: 60px;" data-expected-height="60" data-offset-y="35"></div>
</div>
<!-- single insets -->
<div class="container">
<div class="anchor"></div>
<div class="target" style="top: 20px;" data-expected-height="80" data-offset-y="20"></div>
</div>
<div class="container">
<div class="anchor"></div>
<div class="target" style="bottom: 20px;" data-expected-height="80" data-offset-y="0"></div>
</div>
<div class="container">
<div class="anchor"></div>
<div class="target" style="bottom: -20px;" data-expected-height="120" data-offset-y="0"></div>
</div>
<div class="container">
<div class="anchor"></div>
<div class="target" style="max-height: 100px; bottom: -20px;" data-expected-height="100" data-offset-y="15"></div>
</div>
<div class="container">
<div class="anchor"></div>
<div class="target" style="bottom: -50px;" data-expected-height="150" data-offset-y="0"></div>
</div>
<!-- both insets -->
<div class="container">
<div class="anchor"></div>
<div class="target" style="top: 10px; bottom: 20px;" data-expected-height="70" data-offset-y="10"></div>
</div>
<div class="container">
<div class="anchor"></div>
<div class="target" style="top: 10px; bottom: -20px;" data-expected-height="110" data-offset-y="10"></div>
</div>
<div class="container">
<div class="anchor"></div>
<div class="target" style="top: -10px; bottom: -50px;" data-expected-height="160" data-offset-y="-10"></div>
</div>
|