Kurze Eingangsfrage: Wenn es eine Tabelle ist warum wird dann nicht auch eine Tabelle (<table>) verwendet?
Bezüglich deines ursprünglichen Problems: Du kannst mit content: attr(title) arbeiten, zb so:
Code:
tr:first-child td::after{
content: attr(title);
position: absolute;
top: -40px; /*inhalt nach oben schieben, hier testen was passt. Eventuell auch left, etc. angeben*/
}