Stwórz sobie element na ::after (lub dodatkowy element z daną klasą), który ma wybrane właściwości na start i width: 0. Dorzuć na te atrybuty które mają się zmieniać - transition, żeby podczas zmiany właściwości płynnie zmieniały swój stan. Później zrób hover na "wrapper" (np. .menu:hover .klasa-twojej-animacji) i daj width np. 80% + cokolwiek co chcesz, żeby jeszcze się zmieniało z początkowej wersji.
Po najechaniu powstanie Ci animacja rozszerzająca ten element od 0 do 80% + twoje dodatkowe zmiany.