You’re viewing an archive of outdated material. Visit The Web Standards Project’s updated site to learn about our current mission.

Opera's Internal Table Width Algorithm

Opera has an internal table width algorithm that is supposed to make the table fit its contents. It is this algorithm that, in version 3.50, overrides the CSS-set width. However, this algorithm still fails when there is margin on the TABLE, as the algorithm is applied before taking the margin into account! It would also have problems with padding, except that in Opera 3.51, padding on tables does not work at all.

Example 1 - Margin

The following table has a 50px margin set using CSS. It should be completely visible within the viewport.

This is a table, with a 50px margin. This is a table, with a 50px margin. This is a table, with a 50px margin. This is a table, with a 50px margin. This is a table, with a 50px margin. This is a table, with a 50px margin. This is a table, with a 50px margin. This is a table, with a 50px margin. This is a table, with a 50px margin. This is a table, with a 50px margin. This is a table, with a 50px margin.

Example 2 - Padding

The following table has 50px padding set using CSS. Opera 3.51 does not support padding on tables. (In Opera 3.50, the padding appears on the top and left sides, but not the bottom and right, and this causes the same problem seen in Example 1.) In Opera 3.51, the padding does nothing, so the problem doesn't really show up.

This is a table, with a 50px padding. This is a table, with a 50px padding. This is a table, with a 50px padding. This is a table, with a 50px padding. This is a table, with a 50px padding. This is a table, with a 50px padding. This is a table, with a 50px padding. This is a table, with a 50px padding. This is a table, with a 50px padding. This is a table, with a 50px padding. This is a table, with a 50px padding.

Example 3 - Margin and Padding

The following table has both 50px padding and 50px margin set using CSS. It should also be completely visible within the viewport.

This is a table, with a 50px padding and 50px margin. This is a table, with a 50px padding and 50px margin. This is a table, with a 50px padding and 50px margin. This is a table, with a 50px padding and 50px margin. This is a table, with a 50px padding and 50px margin. This is a table, with a 50px padding and 50px margin. This is a table, with a 50px padding and 50px margin. This is a table, with a 50px padding and 50px margin. This is a table, with a 50px padding and 50px margin. This is a table, with a 50px padding and 50px margin. This is a table, with a 50px padding and 50px margin.