summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/css/CSS2/tables/fixed-table-layout-023.xht
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/css/CSS2/tables/fixed-table-layout-023.xht')
-rw-r--r--testing/web-platform/tests/css/CSS2/tables/fixed-table-layout-023.xht207
1 files changed, 207 insertions, 0 deletions
diff --git a/testing/web-platform/tests/css/CSS2/tables/fixed-table-layout-023.xht b/testing/web-platform/tests/css/CSS2/tables/fixed-table-layout-023.xht
new file mode 100644
index 0000000000..127528b2e9
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/tables/fixed-table-layout-023.xht
@@ -0,0 +1,207 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+ <title>CSS Test: table-layout fixed - columns with percentage width and absolute width</title>
+
+ <link rel="author" title="GĂ©rard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#fixed-table-layout" title="17.5.2.1 Fixed table layout" />
+ <link rel="match" href="fixed-table-layout-023-ref.xht" />
+ <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
+
+ <meta content="A column with a percentage width in a 'table-layout: fixed' table can be calculated, predicted, rendered." name="assert" />
+
+ <style type="text/css"><![CDATA[
+ body
+ {
+ margin: 8px;
+ width: 640px;
+ }
+
+ table, div {font: 1.25em/1 Ahem;}
+
+ table
+ {
+ border: white solid;
+ border-width: 0px 11px; /* horizontal table border width is 22px total */
+ border-collapse: separate;
+ border-spacing: 18px 4px; /* horizontal border-spacing width is 90px total */
+ table-layout: fixed;
+ width: 80%; /* 640px mult by 80% == 512px */
+
+ /*
+ "With this (fast) algorithm, the horizontal layout of
+ the table does not depend on the contents of the cells;
+ it only depends on the table's width, the width of
+ the columns, and [table] borders or cell spacing."
+
+ So,
+
+ 512px : total table width
+ -
+ 90px : total horizontal border-spacing width
+ -
+ 22px : total horizontal border-spacing width
+ ========
+ 400px : total to split among the 4 columns
+ */
+
+ }
+
+ col#first
+ {
+ background-color: fuchsia;
+ width: 13%;
+ /* 400px multiplied by 13% = 52px */
+ }
+
+ col#second
+ {
+ background-color: olive;
+ width: 100px;
+ }
+
+ col#third
+ {
+ background-color: orange;
+ width: 31%;
+ /* 400px multiplied by 31% = 124px */
+
+ /*
+ 400px - (52px + 100px + 124px) = 124px for last column
+ */
+ }
+
+ col#fourth {background-color: lime;}
+
+ td {padding: 1px 10px;}
+
+ td#first-cell {color: fuchsia;}
+
+ td#second-cell {color: olive;}
+
+ td#third-cell {color: orange;}
+
+ td#fourth-cell {color: lime;}
+
+ div {padding: 1px 0px;}
+
+ div#reference1st
+ {
+ background-color: fuchsia;
+ color: fuchsia;
+ left: 29px; /* 11px border-left of table + 18px border-spacing == 29px */
+ position: relative;
+ width: 52px;
+ }
+
+ div#reference2nd
+ {
+ background-color: olive;
+ bottom: 1.1em;
+ color: olive;
+ left: 99px;
+ /*
+ 11px : border-left of table
+ +
+ 18px : 1st border-spacing
+ +
+ 52px : width of first column
+ +
+ 18px : 2nd border-spacing
+ =======
+ 99px
+ */
+ position: relative;
+ width: 100px;
+ }
+
+ div#reference3rd
+ {
+ background-color: orange;
+ bottom: 2.2em;
+ color: orange;
+ left: 217px;
+ /*
+ 11px : border-left of table
+ +
+ 18px : 1st border-spacing
+ +
+ 52px : width of first column
+ +
+ 18px : 2nd border-spacing
+ +
+ 100px : width of second column
+ +
+ 18px : 3rd border-spacing
+ =======
+ 217px
+ */
+ position: relative;
+ width: 124px;
+ }
+
+ div#reference4th
+ {
+ background-color: lime;
+ bottom: 3.3em;
+ color: lime;
+ left: 359px;
+ /*
+ 11px : border-left of table
+ +
+ 18px : 1st border-spacing
+ +
+ 52px : width of first column
+ +
+ 18px : 2nd border-spacing
+ +
+ 100px : width of second column
+ +
+ 18px : 3rd border-spacing
+ +
+ 124px : width of third column
+ +
+ 18px : 4th border-spacing
+ =======
+ 359px
+ */
+ position: relative;
+ width: 124px;
+ }
+ ]]></style>
+
+ </head>
+
+ <body>
+
+ <p>Test passes if the colored (fuchsia, olive, orange and lime) stripes have respectively the same widths and the same horizontal positions.</p>
+
+ <table>
+
+ <col id="first"></col>
+ <col id="second"></col>
+ <col id="third"></col>
+ <col id="fourth"></col>
+
+ <tr>
+ <td id="first-cell">1</td>
+ <td id="second-cell">2</td>
+ <td id="third-cell">3</td>
+ <td id="fourth-cell">4</td>
+ </tr>
+
+ </table>
+
+ <div id="reference1st">r</div>
+
+ <div id="reference2nd">r</div>
+
+ <div id="reference3rd">r</div>
+
+ <div id="reference4th">r</div>
+
+ </body>
+</html>