the eye

Modified Meyer CSS2 Test Suite: 17.6.1 empty-cells

The style declarations contained within this page:

table {background: gray; width: 300px; border-collapse: separate;}
table td {background: #FEC; color: black; border: 1px solid red;}
.cl1 {empty-cells: show;}
.cl2, .cl3 {empty-cells: hide;}
.disappear {display:none;}

The empty cell in the middle of the following 'table' element should be rendered, including its background and borders.

[cl1]r1c2r1c3
r2c1r2c3
r3c1r3c2r3c3

The empty cell in the middle of the following 'table' element should not be rendered at all. CSS2 says: A value of 'hide' means that no borders are drawn around empty cells. However CSS2.1 is more explicit: A value of 'hide' means that no borders or backgrounds are drawn around/behind empty cells (see point 6 in 17.5.1) - in the case of CSS2.1 (but not explicitly CSS2) the table background (here gray) should shine through. Opera V7.21 thus renders the following table sufficiently according to CSS2 but fails the stricter CSS2.1 criteria (Firebird 0.7+ is compliant to both):

[cl2]r1c2r1c3
r2c1r2c3
r3c1r3c2r3c3

The second row in the following 'table' element, which contains only empty cells, should not be rendered at all. The table should be drawn as if the entire row had been set to 'display: none'.

[cl3]r1c2r1c3
r3c1r3c2r3c3

Here is the table with the same row set to display:none - as you can see, Opera V7.21 (and Firebird 0.7+) FAILS to render the above table as it does the lower table, as they should according to EITHER CSS2 or CSS2.1:

Testr1c2r1c3
r3c1r3c2r3c3