Как сделать чтобы кнопка подчеркивалась не полностью?
:after или :before
У кнопки позиционирование relative, у :after (или :before) - absolute
Устанавливаете left: 0 и bottom: 0
width: 20px, например
При наведении через :hover устанавливаете width: 100%
transition: 1s width - чтобы плавно было
Полоску сделать псевдо элементом кнопки, например :after