<!DOCTYPE html>
<meta charset="utf-8">
<title>CSS Text Test: min-content sizing and white-space: break-spaces</title>
<link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net/">
<link rel="help" href="https://drafts.csswg.org/css-text-3/#propdef-white-space">
<link rel="help" href="https://drafts.csswg.org/css-text-3/#white-space-phase-2">
<link rel="match" href="reference/white-space-intrinsic-size-001-ref.html">
<meta name="assert" content="When white-space is break-spaces, preserved spaces at the end of the line do affect the intrinsic min-content size. Overflow-wrap makes no difference.">
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
<style>
aside {
float: left;
white-space: break-spaces;
background: green;
}
aside:last-of-type { overflow-wrap: break-word; }
div {
font-family: Ahem;
color: transparent;
font-size: 50px;
width: 0ch;
}
#red {
position: absolute;
background: red;
width: auto;
z-index: -1;
}
</style>
<p>Test passes if there is a green rectangle below and no red.
<div id=red>XS<br>S<br>XS<br>S</div>
<div>
<aside>X </aside>
<aside>X </aside>
</div>
<!-- Note: the space immediately following the X does not get wrapped,
even under break-spaces+break-word:
The parent of the flow is 0-width,
so the float is min-content sized,
which should leave enough room for both the X and one space.
break-space+break-word would allow for an emergency wrap before the space
if the float itself was sized too small,
but it isn't.
-->