mirror of
https://github.com/servo/servo.git
synced 2025-06-23 16:44:33 +01:00
122 lines
No EOL
2.9 KiB
HTML
122 lines
No EOL
2.9 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
|
<html>
|
|
<head>
|
|
<!--
|
|
This test's original filename was multicol-inherit-004.xht
|
|
and it has been modified and is now
|
|
multicol-nested-column-rule-001.xht
|
|
-->
|
|
<title>CSS Multi-column Layout Test: nested multi-columns and column-rule position</title>
|
|
<link rel="author" title="Opera Software ASA" href="http://www.opera.com/">
|
|
<link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> <!-- 2013-08-09 -->
|
|
<link rel="help" href="http://www.w3.org/TR/css3-multicol/#pseudo-algorithm" title="3.4 Pseudo-algorithm">
|
|
<link rel="match" href="reference/multicol-nested-column-rule-001-ref.htm">
|
|
<meta name="flags" content="ahem">
|
|
<meta name="assert" content="This test checks how the height of column boxes conditions the height of column rule.">
|
|
<style type="text/css">
|
|
body > div
|
|
{
|
|
column-rule: blue solid 1em;
|
|
font: 1.25em/1 Ahem;
|
|
width: 42em;
|
|
}
|
|
|
|
/*
|
|
|
|
N == 3;
|
|
|
|
W == max(0, (available-width - ((N - 1) * column-gap)) / N);
|
|
W == max(0, (42em - ((3 - 1) * 3em)) / 3);
|
|
W == max(0, (42em - (2 * 3em)) / 3);
|
|
W == max(0, (42em - 6em) / 3);
|
|
W == max(0, 36em / 3);
|
|
W == max(0, 12em);
|
|
W == 12em;
|
|
|
|
So, the first column-rule should be at:
|
|
|
|
1.0em : margin-left of outer div
|
|
12.0em : width of 1st column box
|
|
1.0em : (3.0em / 2) - (1.0em / 2) : left edge of 1st column-rule
|
|
=========
|
|
14.0em
|
|
|
|
The 2nd column-rule should be at:
|
|
|
|
1.0em : margin-left of outer div
|
|
12.0em : width of 1st column box
|
|
3.0em : first column-gap
|
|
12.0em : width of 2nd column box
|
|
1.0em : (3.0em / 2) - (1.0em / 2) : left edge of 2nd column-rule
|
|
=========
|
|
29.0em
|
|
|
|
The height of column rule depends on number of line boxes in
|
|
each outer column box which depends on number of line boxes
|
|
in each inner column box. So:
|
|
|
|
12em : width of each outer column box
|
|
-
|
|
2em : horizontal margin of each div inside
|
|
=======
|
|
10em : width of each inner multi-column elements
|
|
|
|
N == 3;
|
|
|
|
W == max(0, (available-width - ((N - 1) * column-gap)) / N);
|
|
W == max(0, (10em - ((3 - 1) * 3em)) / 3);
|
|
W == max(0, (10em - (2 * 3em)) / 3);
|
|
W == max(0, (10em - 6em) / 3);
|
|
W == max(0, 4em / 3);
|
|
W == max(0, 1.33333em);
|
|
W == 1.33333em;
|
|
|
|
So, each duo of 'a', 'm' and 'x' should fill one and only 1 line
|
|
box. There are 8 duos; therefore, the first 2 inner
|
|
column boxes should use 3 line boxes and the 3rd inner
|
|
column box should be using 2 line boxes.
|
|
|
|
So, the height of the 2 blue column rules should be 60px.
|
|
|
|
*/
|
|
|
|
div
|
|
{
|
|
background-color: white;
|
|
color: white;
|
|
font-size: 1em;
|
|
margin: 0em 1em;
|
|
orphans: 1;
|
|
widows: 1;
|
|
|
|
column-count: 3;
|
|
column-gap: 3em;
|
|
}
|
|
</style>
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<div>
|
|
<div>
|
|
aa aa
|
|
aa aa
|
|
aa aa
|
|
aa aa
|
|
</div>
|
|
<div>
|
|
mm mm
|
|
mm mm
|
|
mm mm
|
|
mm mm
|
|
</div>
|
|
<div>
|
|
xx xx
|
|
xx xx
|
|
xx xx
|
|
xx xx
|
|
</div>
|
|
</div>
|
|
|
|
</body>
|
|
</html> |