Задать на CSS ширину дива равной ширине контента (таблицы)

Да, есть. Предлагаю Вам использовать SPAN вместо DIV и задать ему свойство display: inline-block