Source code
Revision control
Copy as Markdown
Other Tools
Test Info:
- This WPT test may be referenced by the following Test IDs:
- /css/CSS2/tables/separated-border-model-004b.xht - WPT Dashboard Interop Dashboard
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<head>
<title>CSS Test: width of CSS table in border-collapse separate model</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#separated-borders" title="17.6.1 The separated borders model" />
<link rel="match" href="../reference/ref-filled-green-100px-square.xht" />
<meta content="The width of a CSS table is the distance from the left inner padding edge to the right inner padding edge (including the table border spacing but excluding table padding and table borders)." name="assert" />
<style type="text/css"><![CDATA[
div#overlapped-red
{
background-color: red;
height: 100px;
position: absolute;
width: 100px;
z-index: -1;
}
div#overlapping-green-table
{
background-color: green;
border: green solid 10px;
border-collapse: separate;
border-spacing: 0px 5px;
color: green;
display: table;
font: 20px/1 serif;
padding-bottom: 25px;
table-layout: fixed;
width: 80px;
/*
The width of a CSS table is given by the greater of the value of
the 'width' property as set for the CSS table and the sum of the
columns width plus border spacing:
max(set width, sum of columns width plus border spacing).
The width (as set) of a CSS table is given by its content-box, not
by its border-box.
In this testcase, the content-box must be 100px by 100px and all
filled with green color.
In this testcase, the border-box must be 200px by 200px and all
filled with green color.
The set width (100px) is larger than sum of columns width plus
border spacing
0px : left-most border-spacing
+
20px : div#td's width
+
0px : middle border-spacing between 1st and 2nd cell
+
20px : div#td's width
+
0px : right-most border-spacing
=====
40px : sum of columns width plus border spacing
80px : set width of table
-
40px : sum of columns plus border spacing
======
40px : the extra (exceeding) 40px width will be distributed over
the columns, therefore given to both cells of the table.
*/
}
div.tr {display: table-row;}
div.td {display: table-cell;}
]]></style>
</head>
<body>
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
<div id="overlapped-red"></div>
<div id="overlapping-green-table">
<div class="tr">
<div class="td">1</div><div class="td">2</div>
</div>
<div class="tr">
<div class="td">3</div><div class="td">4</div>
</div>
</div>
</body>
</html>