Oh, sorry, my mistake I didn't explain it correctly. You can't force a table cell (HTML = <td>) to have a maximum width, you can only force it to have a minimum width. A cell will always expand its width (and height) to accomodate its contents. The workaround is that you can force a <div> (a Container widget) to have a maximum size (either width or height, or both). If you put a <div> inside a <td> and set its style to, say, "width: 200px; overflow: hidden;", whatever content inside it that exceeds 200px in width will be cropped. The net result is that the <td> won't expand because its content never expands either. ** A BIT OFF-TOPIC HTML MINI GUIDE ** If you look carefully, the width style doesn't really set the <div> width, it actually sets its maximum width. An empty <div> will have a width of 0 and will expand to accomodate its content up to the defined maximum width. This is why you still need to set the width in the table cell but now it's to prevent it from shrinking too much. Another way to do it would be to use the min-width style to set the minimum width but IE at least up to version 8 ignores it. You can also set the maximum height of a div, just use the height syle. There's also a min-height style to set the <div> minimum height and IE ignores it too. Also, if you don't set either the width or the height in a <div>, it will behave pretty much like a <td>.
table-layout: fixed;
In a fixed table layout, the horizontal layout only depends on the table's width, the width of the columns, and not the content of the cells