Skip to content

Commit aa41389

Browse files
author
howcome
committed
adding column-fill examples, revising text on clipping
1 parent e000537 commit aa41389

File tree

1 file changed

+204
-16
lines changed

1 file changed

+204
-16
lines changed

css-multicol/Overview.src.html

Lines changed: 204 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -372,6 +372,7 @@ <h2>The multi-column model</h2>
372372
<div class=gap style="left: 325px"></div>
373373
</div>
374374

375+
<!--
375376
<p>To illustrate the effects of the various properties described in
376377
this specification, variations on a sample document will be used. Here
377378
is the source code of the sample document:
@@ -404,6 +405,8 @@ <h2>The multi-column model</h2>
404405
shows how text flows from one column to another. To simplify the
405406
visualization, the textual content of the different examples vary
406407
slightly.
408+
-->
409+
407410
</div>
408411

409412

@@ -846,7 +849,7 @@ <h3>Pseudo-algorithm</h3>
846849
per-page basis.
847850

848851
<p>The used value for 'column-count' is calculated without
849-
regard for explicit column breaks or constrained column lengths,
852+
regard for explicit column breaks or constrained column heights,
850853
while the actual value takes these into consideration.
851854

852855
<div class=example>
@@ -901,7 +904,7 @@ <h2>Column gaps and rules</h2>
901904

902905
<p>Column gaps and rules are placed between columns in the same
903906
multicol element. The length of the column gaps and column rules
904-
is equal to the length of the columns. Column gaps take up space. That
907+
is equal to the column height. Column gaps take up space. That
905908
is, column gaps will push apart content in adjacent columns (within
906909
the same multicol element).
907910

@@ -1699,12 +1702,11 @@ <h2>Filling columns</h2>
16991702

17001703
<p>There are two strategies for filling columns: columns can either be
17011704
balanced, or not. If columns are balanced, user agents should try to
1702-
minimize the variation in content between columns, while also trying to
1703-
minimize the overflow content. If columns are not balanced, they are
1704-
filled sequentially; some columns may end up partially filled, or with
1705-
no content at all. In any case, user agents must honor forced page
1706-
breaks and should try to honor 'widows', 'orphans' and other
1707-
properties that may affect column lengths.
1705+
minimize variations in column height, while honoring forced breaks,
1706+
'widows' and 'orphans', and other properties that may affect column
1707+
heights. If columns are not balanced, they are filled sequentially;
1708+
some columns may end up partially filled, or with no content at all.
1709+
17081710

17091711
<h3 id='cf'>'column-fill'</h3>
17101712

@@ -1742,9 +1744,11 @@ <h3 id='cf'>'column-fill'</h3>
17421744

17431745
<dl>
17441746
<dt>balance
1745-
<dd>Balance content equally between columns, if possible.
1747+
<dd>Balance content equally between columns, as far as possible. In paged media, only the last page is balanced.
1748+
<dt>balance-all
1749+
<dd>Balance content equally between columns, as far as possible. In paged media, all pages are balanced.
17461750
<dt>auto
1747-
<dd>Fills columns sequentially.
1751+
<dd>fill columns sequentially
17481752
</dl>
17491753

17501754
<!--
@@ -1754,24 +1758,208 @@ <h3 id='cf'>'column-fill'</h3>
17541758
-->
17551759

17561760
<p>In continuous media, this property does not have any effect in
1757-
overflow columns (see below).
1761+
overflow columns.
17581762

17591763
<!--
17601764
<p>In paged media, this property will only have
17611765
effect on the last page the multicol element appears on.
17621766
-->
17631767

1768+
1769+
<div class=example>
1770+
1771+
<p>In this example, an article only has one short paragraph which fits
1772+
on three lines. The three lines are displayed in three different
1773+
columns due to column balancing.
1774+
1775+
<pre>
1776+
article { width: 60em; height: auto; columns: 4; column-fill: balance }
1777+
</pre>
1778+
1779+
<div class=cols style="width: 675px; height: 25px">
1780+
1781+
<div class="col" style="">
1782+
1783+
<p>
1784+
Ab cde fgh i jkl. Mno<br>
1785+
</div>
1786+
1787+
<div class="col" style="left: 175px">
1788+
<p>pqr stu vw xyz. A bc
1789+
</div>
1790+
1791+
<div class="col" style="left: 350px">
1792+
<p>def g hij klm.
1793+
</div>
1794+
1795+
<div class="col" style="left: 525px">
1796+
</div>
1797+
1798+
<div class=gap style="left: 150px"></div>
1799+
<div class=gap style="left: 325px"></div>
1800+
<div class=gap style="left: 500px"></div>
1801+
</div>
1802+
1803+
</div>
1804+
1805+
<div class=example>
1806+
1807+
<p>In this example, column balancing is turned off:
1808+
1809+
<pre>
1810+
article { width: 60em; height: auto; columns: 4; column-fill: auto }
1811+
</pre>
1812+
1813+
<p>As a result, the first column is filled with all content:
1814+
1815+
<div class=cols style="width: 675px; height: 60px">
1816+
1817+
<div class="col" style="">
1818+
1819+
<p>
1820+
Ab cde fgh i jkl. Mno<br>
1821+
pqr stu vw xyz. A bc<br>
1822+
def g hij klm.
1823+
</div>
1824+
1825+
<div class="col" style="left: 175px">
1826+
</div>
1827+
1828+
<div class="col" style="left: 350px">
1829+
</div>
1830+
1831+
<div class="col" style="left: 525px">
1832+
</div>
1833+
1834+
<div class=gap style="left: 150px"></div>
1835+
<div class=gap style="left: 325px"></div>
1836+
<div class=gap style="left: 500px"></div>
1837+
</div>
1838+
1839+
</div>
1840+
1841+
1842+
1843+
1844+
1845+
1846+
<div class=example>
1847+
1848+
<p>In this example, an article has two paragraphs: first a long one, then a shorter one. This code is applied:
1849+
1850+
<pre>
1851+
article { width: 60em; height: auto; columns: 4; column-fill: balance }
1852+
p { break-after: column }
1853+
</pre>
1854+
1855+
<p>The shortest column height possible contains five lines of text. After the column height has been established, columns are filled sequentially. As a result, the third column is as high as the first two columns, while the last column ends up being significantly shorter.
1856+
1857+
<div class=cols style="width: 675px; height: 100px">
1858+
1859+
<div class="col" style="">
1860+
1861+
<p>
1862+
Ab cde fgh i jkl. Mno<br>
1863+
pqr stu vw xyz. A bc<br>
1864+
def g hij klm nopqrs<br>
1865+
tuv wxy z. Abc de fg<br>
1866+
hi jklmno. Pqrstu vw<br>
1867+
</div>
1868+
1869+
<div class="col" style="left: 175px">
1870+
<p>
1871+
x yz. Abc def ghi jkl.<br>
1872+
M nop qrst uv wx yz.<br>
1873+
Ab cde fgh i jkl. Mno<br>
1874+
pqr stu vw xyz. A bc<br>
1875+
def g hij klm.
1876+
</div>
1877+
1878+
<div class="col" style="left: 350px">
1879+
<p>
1880+
Ab cde fgh i jkl. Mno<br>
1881+
pqr stu vw xyz. A bc<br>
1882+
def g hij klm nopqrs<br>
1883+
tuv wxy z. Abc de fg<br>
1884+
hi jklmno. Pqrstu vw<br>
1885+
</div>
1886+
1887+
<div class="col" style="left: 525px">
1888+
<p>
1889+
x yz. Abc def ghi jkl.<br>
1890+
M nop qrst uv wx yz.
1891+
</div>
1892+
1893+
<div class=gap style="left: 150px"></div>
1894+
<div class=gap style="left: 325px"></div>
1895+
<div class=gap style="left: 500px"></div>
1896+
</div>
1897+
1898+
</div>
1899+
1900+
1901+
<div class=example>
1902+
1903+
<pre>
1904+
article { width: 60em; height: auto; columns: 4; column-fill: balance }
1905+
</pre>
1906+
1907+
<p>In this example, an article starts with an unbreakable figure which sets the column height. Subsequent content is filled sequentially into the remaining columns:
1908+
1909+
1910+
<div class=cols style="width: 675px; height: 140px">
1911+
1912+
<div class="col" style="">
1913+
1914+
<p>
1915+
</div>
1916+
1917+
<div class="col" style="left: 175px">
1918+
<p>
1919+
Ab cde fgh i jkl. Mno<br>
1920+
pqr stu vw xyz. A bc<br>
1921+
def g hij klm nopqrs<br>
1922+
tuv wxy z. Abc de fg<br>
1923+
hi jklmno. Pqrstu vw<br>
1924+
x yz. Abc def ghi jkl.<br>
1925+
M nop qrst uv wx yz.<br>
1926+
</div>
1927+
1928+
<div class="col" style="left: 350px">
1929+
<p>
1930+
Ab cde fgh i jkl. Mno<br>
1931+
pqr stu vw xyz. A bc<br>
1932+
def g hij klm nopqrs<br>
1933+
tuv wxy z. Abc de fg<br>
1934+
hi jklmno.
1935+
</div>
1936+
1937+
<div class="col" style="left: 525px">
1938+
</div>
1939+
<div class=rep style="top: 0; width: 150px; height: 140px"></div>
1940+
<div class=gap style="left: 150px"></div>
1941+
<div class=gap style="left: 325px"></div>
1942+
<div class=gap style="left: 500px"></div>
1943+
</div>
1944+
1945+
</div>
1946+
1947+
1948+
17641949
<h2>Overflow</h2>
17651950

17661951
<h3>Overflow inside multicol elements</h3>
17671952

1768-
<p>Floated or in-flow content that extends into column gaps (e.g.,
1769-
long words or images) is clipped in the middle of the column gap.
1953+
<!--<p>Floated or in-flow content that extends into column gaps (e.g.,
1954+
long words or images) is clipped in the middle of the column gap.-->
1955+
1956+
<p>Floated or in-flow content that extends into column gaps or neighboring columns &mdash; e.g.,
1957+
long words or images &mdash; is not clipped and may therefore cause overflow.
1958+
17701959

17711960
<div class=example>
17721961

1773-
<p>In this example, the black image is wider than the column, and is
1774-
therefore clipped.
1962+
<p>In this example, the black image is wider than the column:
17751963

17761964
<div class=cols>
17771965
<p>Lorem ipsum dolor<br>sit amet. Nam at jus.
@@ -1792,7 +1980,7 @@ <h3>Overflow inside multicol elements</h3>
17921980
luctu<br> feugiat quis enim.<br> Cum sociis natoque<br>
17931981
penatibus et magni.</div>
17941982

1795-
<div class=rep style="width: 163px"></div>
1983+
<div class=rep style="width: 183px"></div>
17961984
<div class=gap style="left: 150px"></div>
17971985
<div class=gap style="left: 325px"></div>
17981986
</div>

0 commit comments

Comments
 (0)