Skip to content

Commit 71edb81

Browse files
committed
[css-inline-3] Define interaction with floats per <https://lists.w3.org/Archives/Public/www-style/2017Feb/0050.html>. #360
1 parent 4893b21 commit 71edb81

File tree

1 file changed

+42
-6
lines changed

1 file changed

+42
-6
lines changed

css-inline-3/Overview.bs

+42-6
Original file line numberDiff line numberDiff line change
@@ -1233,13 +1233,49 @@ Short paragraphs with initial letters</h4>
12331233
<h4 id="initial-letter-floats">
12341234
Interaction with floats</h4>
12351235

1236-
Floats always clear an initial letter when floated to the same side.
1237-
When floated to the opposite side,
1238-
they are pushed down to clear the initial letter
1239-
only if they have specified 'clear' to the affected side
1240-
or they do not fit without overlapping the initial letter.
1236+
<a>Initial letters</a> are not <a href="https://www.w3.org/TR/CSS21/visuren.html#floats">floats</a>:
1237+
they are <a>in-flow</a> <a>inline-level</a> content
1238+
that belongs to a <a>line box</a>.
1239+
Therefore:
12411240

1242-
Issue: Is this the behavior we want? What if the float is on the same line as the initial letter?
1241+
<ul>
1242+
<li>
1243+
The 'clear' property does not care about <a>initial letters</a>:
1244+
it neither applies to <a>initial letters</a>
1245+
nor clears them when applied to nearby floats.
1246+
<li>
1247+
Like line boxes or floats,
1248+
<a>initial letter boxes</a>
1249+
must not overlap the <a>margin boxes</a>
1250+
of any floats participating in the same <a>block formatting context</a>.
1251+
An overlapping <a>initial letter box</a>
1252+
is shifted inward or downward
1253+
until either it fits without overlapping
1254+
or there are no more floats present.
1255+
<li>
1256+
If a line box’s start edge shifts or moves down to clear a float,
1257+
an <a>initial letter</a> originating in it moves with it;
1258+
likewise if an <a>initial letter</a> shifts inward or moves downward
1259+
to clear a float,
1260+
its originating line box and subsequent line boxes
1261+
shorten and/or move accordingly.
1262+
<li>
1263+
If an <a>inline-start</a> float
1264+
originates in the first line of content
1265+
adjacent to an <a>initial letter</a>,
1266+
then it moves past the <a>initial letter</a>
1267+
towards the containing block edge,
1268+
exactly as if the <a>initial letter</a> were any other inline-level content.
1269+
1270+
However, if such a float originates
1271+
in subsequent lines of content adjacent to a (sunk) <a>initial letter</a>,
1272+
then that float must clear the <a>initial letter</a>.
1273+
</ul>
1274+
1275+
See <a href="https://www.w3.org/TR/CSS21/visuren.html#floats">CSS2&sect;9.5</a>
1276+
for more information about the layout of floats
1277+
and adjacent content.
1278+
[[!CSS2]]
12431279

12441280
<h4 id="intial-letter-breaking">
12451281
Interaction with Fragmentation (Pagination)</h4>

0 commit comments

Comments
 (0)