Here is an example:
[tt]
<table border=1 [color blue]width[/color]=183 [color blue]style[/color]='table-layout:fixed'> <[color blue]col[/color] width=67> <[color blue]col[/color] width=75> <[color blue]col[/color] width=41>
<tr>
<td>First Column</td>
<td>Second Column</td>
<td>Third Column</td>
</tr>
<tr>
<td>Row 1</td>
<td>Text</td>
<td align=right>1</td>
</tr>
<tr>
<td>Row 2</td>
<td>Abcdefg</td>
<td align=right>123</td>
</tr>
<tr>
<td>Row 3</td>
<td>Abcdefghijklmnop</td>
<td align=right>123456</td>
</tr>
</table>
[/tt]
Notice how a very long entry does not cause a column to expand.
There are three (3) elements involved here to maintain cross-browser consistency.
1) use of width attribute in the table tag
2) use of [color blue]'table-layout:fixed'[/color] property in the style attribute of the table.
3) use of col tags to designate column widths
Make sure the value of the width attribute of the table tag is equal to the total of the width attributes of the col tags.
The 3 elements altogether is redundant if you are using IE. But this approach is needed to take care of the way some browsers like NN behaves differently when specifying column widths.
There are other ways to accomplish this, but this approach is the *easiest* to maintain, especially if you frequently add and delete table rows and/or columns. You don't have to put style sheet properties on every TD tags.
NOTE:
I used IE6, NN6, Opera7 and Firefox 0.9 to test this. Users of Netscape and Firefox may not like to see table cells with overflowing long texts (because of fixed column-widths), so I updated this FAQ to include the following code in the CSS style definition inside the <HEAD> tags or in the external CSS file:
[color blue] <style> td {overflow:hidden;} </style>
[/color]
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.