Yeah right, and if you play with the floats and widths you can usually get away without needing absolute positioning (i.e. float the pseudo-element to the left of the TD content, rather than absolutely positioning it).
Another approach is to use display:table on each TD and then display:table-cell on the pseudo-element (or, wrap the TD content in a SPAN, and then use display:table-cell on both the pseudo-element and the SPAN, to give you more control). Though that only really works in IE9 or later.
Could probably do it with flexbox too, but I’ve never tried that