Как вариант - разбить ссылку на несколько (три в вашем случае) ссылки и исправить на:
div:hover a {
background-size: 100% 1px;
}
Или через js.
Только зачем вам такой геморрой? Выглядит и без того нормально, а так - при любом решении будут проблемы, потому что содержимое и длину ссылок и где они отображаются, вы можете не знать заранее.