Хитрость заключается в том, чтобы немного убрать верхний отступ и немного увеличить нижний, чтобы сохранить целостность разметки.
Я создал простой пример того, что вы хотите. Проверьте это на скрипке здесь
HTML:
<ul>
<li><a href="#">Home</a></li>
</ul>
CSS:
ul { width: 200px; margin: 20px; }
li { border-top: 2px #000 solid; padding: 5px; }
li a { padding: 5px; display: inline-block; }
li:hover a { padding: 3px 5px 7px 5px ; }