Что -то не понял, а где логика? Сначала задаешь нижнюю границу, потом прописываешь text-decoration: none; - а для?
Не проще просто - text-decoration: underline;?