Можно сделать на чистом СSS или JS. На CSS делается через медиазапросы и псевдоклассы. Нужно на мобильном экране скрывать меню для десктопов и показывать другое меню для телефонов при каком то событии, например, при клике. Подробно рассказывается в этом видео:
https://www.youtube.com/watch?v=MwD_tZGc7gA
"Гамбургер" без js - label + скрытый checkbox 30:33