Problem w tym, że gdy chę użyć (text-align: center;) to nie może być (display: block), który jest potrzebny do zrobienia (line-height: 20px;). Gdy wpiszę (display: block) to nie działa (text-align: center;).
No właśnie to jest zła praktyka, do tego używasz bezpośrednio reguły css na elementach liniowych czy blokowych, natomiast jeśli te przyciski są powiązane z danymi które nadają się do prezentacji tabelarycznej to jak najbardziej, ale layout i pozycjonowanie obiektów na stronie to nie zadanie tabeli. Owszem tabelą da się tak zrobić, i pewnie jest no nawet prostsze ale niepoprawne semantycznie.