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 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198
|
<!DOCTYPE html>
<link rel="help" href="https://drafts.csswg.org/css-anchor-1/#propdef-anchor-name">
<link rel="help" href="https://drafts.csswg.org/css-anchor-1/#anchor-pos">
<link rel="help" href="https://drafts.csswg.org/css-anchor-1/#anchor-size">
<link rel="author" href="mailto:kojii@chromium.org">
<link rel="author" href="mailto:mstensho@chromium.org">
<link rel="match" href="anchor-position-inline-004-ref.html">
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
<style>
body > div {
font-family: Ahem;
font-size: 10px;
line-height: 1;
width: 10em;
}
.cb {
position: relative;
}
body > .cb {
margin-bottom: 20px;
}
.columns {
column-count: 3;
column-fill: auto;
column-gap: 1em;
column-width: 10em;
orphans: 1;
widows: 1;
width: 32em;
height: 50px;
}
.anchor1 {
anchor-name: --a1;
color: red;
}
.target {
position: absolute;
}
.target1-pos {
left: anchor(--a1 left);
top: anchor(--a1 top);
right: anchor(--a1 right);
bottom: anchor(--a1 bottom);
}
.target1-size {
left: anchor(--a1 left);
top: anchor(--a1 top);
width: anchor-size(--a1 width);
height: anchor-size(--a1 height);
}
.target::before {
position: absolute;
background: green;
content: "";
}
.target.part1::before {
width: 30%;
height: 50%;
}
.target.part2::before {
left: 30%;
width: 30%;
height: 50%;
}
.target.part3::before {
left: 60%;
width: 40%;
height: 50%;
}
.target.part4::before {
top: 50%;
width: 30%;
height: 50%;
}
.target.part5::before {
top: 50%;
left: 30%;
width: 30%;
height: 50%;
}
.target.part6::before {
top: 50%;
left: 60%;
width: 40%;
height: 50%;
}
#mc_part1::before {
width: 40px;
height: 25px;
}
#mc_part2::before {
left: 40px;
width: 40px;
height: 25px;
}
#mc_part3::before {
top: 25px;
width: 40px;
height: 25px;
}
#mc_part4::before {
top: 25px;
left: 40px;
width: 40px;
height: 25px;
}
</style>
<p>There should be no red below, only green.</p>
<!-- The inline anchor appear in a single line inline containing block. -->
<div class="cb" style="color:transparent;">
<div><br></div>
<div>
0
<span class="cb">
12
<span class="anchor1">a1</span>
34
<span class="target target1-pos part1"></span>
<span class="target target1-size part2"></span>
</span>
<span class="target target1-pos part3"></span>
<span class="target target1-size part4"></span>
</div>
<span class="target target1-pos part5"></span>
<span class="target target1-size part6"></span>
</div>
<!-- The inline anchor and inline containing block wrap to two lines. -->
<div class="cb" style="color:red;">
<div>
0
<span class="cb">
12
<span class="anchor1">a1 a1 a1</span>
345
<span class="target target1-pos part1"></span>
<span class="target target1-size part2"></span>
</span>
<span class="target target1-pos part3"></span>
<span class="target target1-size part4"></span>
</div>
<span class="target target1-pos part5"></span>
<span class="target target1-size part6"></span>
</div>
<!-- The inline anchor and inline containing block have forced line breaks. -->
<div class="cb" style="color:red;">
<div>
0
<span class="cb">
12
<span class="anchor1">a1<br>a1</span>
345
<span class="target target1-pos part1"></span>
<span class="target target1-size part2"></span>
</span>
<span class="target target1-pos part3"></span>
<span class="target target1-size part4"></span>
</div>
<span class="target target1-pos part5"></span>
<span class="target target1-size part6"></span>
</div>
<!-- The inline anchor and inline containing block wrap to two columns. -->
<div class="cb columns" style="color:red;">
<div class="spacer" style="height: 90px"></div>
<div>
0
<span class="cb">
12
<!-- The anchor begins at the end of the last line in one column, and
ends on the first line in the next column.-->
<span class="anchor1">a1 a1 a1</span>
345
<!-- The containing block of the next two anchor-positioned elements are
part of the fragmentation context. The anchor rectangle is the
bounding box of the two fragments (one on each line) within the
fragmented flow, pretending that everything is stacked on top of
each other (the final visual position of the columns is not
something we can (or should) see from within the fragmentation
context. Fill the parts that are not filled by the final four
elements (see below). -->
<span class="target target1-pos" style="color: green;">
0 12
</span>
<span class="target target1-size" style="color:green;">
<br> 345
</span>
</span>
<!-- The containing block of the below anchor-positioned elements are not
part of the fragmentation context. -->
<span class="target target1-pos" id="mc_part1"></span>
<span class="target target1-size" id="mc_part2"></span>
</div>
<span class="target target1-pos" id="mc_part3"></span>
<span class="target target1-size" id="mc_part4"></span>
</div>
|