remember that a cell width is kinda like a 'min-width' ; so for example if you were to put in an IMG that was wider than your cell tyne cell would stretch to accommodate it. In other words, table cells don't have overflow and don't think of a width as something set in stone... cells may stretch to accommodate content wider than their 'set width'
colspan is a TOTALLY different animal. for starters it cannot be set with CSS. Colspan basically means "take into consideration" the width of adjacent cells in adjacent rows when calculating your own width.
say you have a cell with COLSPAN=2 AND width=150
ROUGHLY this is what happens,
* (assuming the other cells do no need to stretch for any reason)
if the sum total of any cells within the colpan is >150, the cell in question will match that width
if the sum total of any cells within the colpan is <150, the cell the OTHER cells will match the width ( see, greatest size wins)
if the cell in question contains something wider than 150px, the cell will stretch to fit, and the other cells in the colspan will adjust accordingly.
how other cells accommodate to this changes also depends on how you have set your ‘table-layout’ mode
the above is a ‘practical’ guideline if you want to read up on the details an inner workings on how column widths are calculated, go to :http://www.w3.org/TR/html401/struct/tables.html#h-188.8.131.52
hope that helps