If you need to adjust just the width of the cells and they contain only one line of text each you can do this: http://jsfiddle.net/sSP8W/3/ — set width
of an element to it’s line-height
.
The problem with CSS3-transforms is that they work like as CSS’ position: relative
: their original box stays the same, so rotating, skewing etc. don’t cause the changes in the element’s dimensions. So: there is really no perfect CSS solution, you can use JS to adjust the dimensions, or try to find hackety workarounds. So if you have only links in a table, you can do something like that: http://jsfiddle.net/sSP8W/4/ — rotating the table itself.
If your case have another content that you don’t want to rotate — update the post, so we could try to find a better solution.
upd: Just found out a solution to the rotated text in tables: using some magic with vertical paddings we could make cells stretch to the content, so look at this almost final example: http://dabblet.com/gist/4072362