Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

<!DOCTYPE html>
<title>CSS test: balancing and line-clamp</title>
<meta charset="utf-8">
<link rel='author' title='Andreu Botella' href='mailto:abotella@igalia.com'>
<meta name="assert" content="If the element is affected by line-clamp, the clamping effect is applied first, then the remaining lines are balanced. The width of the ellipsis is taken into account when balancing.">
<link rel='match' href="reference/text-wrap-balance-line-clamp-002-ref.html">
<style>
div {
border: solid;
font-family: monospace;
font-size: 4rem;
line-height: 1rem;
margin: 1ch;
width: calc(15.1ch / 4); /* fits 15.1 characters at the span's font-size */
}
div span {
font-size: 1rem;
}
.test {
border-color: blue;
text-wrap-style: balance;
line-clamp: 2;
/* This code is unnecessary in any browser that supports the unprefixed version of line-clamp,
but neither does it have any detrimental effect,
and it broadens the test to browsers that only support the prefixed version */
-webkit-line-clamp: 2;
display: -webkit-box;
-webkit-box-orient: vertical;
overflow: hidden;
}
.ref {
border-color: orange;
}
</style>
<p>Test passes if the box with a blue frame is identical to the orange one.
<div class="test">
<span>1 2 3 4 5 6 7 8 9 0 1 2 3456789012345678901234</span>
</div>
<div class="ref">
<span>1 2 3 4 5 6 7 <br> 8 9 0 1 2</span>…
</div>
<!--
The ellipsis's width must be taken into account when balancing.
In this case, the ellipsis's width is 4 times the width of characters
inside the <span>.
The optimal balancing with the ellipsis is:
|---------------|
|1 2 3 4 5 6 7 |
|8 9 0 1 2.... |
|---------------|
The optimal balancing without the ellipsis would be:
|---------------|
|1 2 3 4 5 6 |
|7 8 9 0 1 2 |
|---------------|
-->