Sergey Goryachev: Ну вот опять, я только сейчас заметил, что Вы автор первого ответа, до этого думал что общаюсь с автором вопроса и не мог понять откуда такие рассуждения у него, теперь все стало на свои места :)
А то думаю спрашивает как сделать, а потом еще и сам же учить пытается :)
Sergey Goryachev: Ну порой самому интересно это сделать, не профессионал всё таки, а опыт пригодится. Тем кто профессионалы может быть это не сильно хочется и нудно это для них, так как это их постоянная рутинная работа. Но опять же, если заходят сюда, значит сами хотят помогать. А есть думаю и такие как я, которые делают с интересом
Sergey Goryachev: Тень я не трогал, я просто взял ее с примера выше, да и цвета и размеры не подгонял, просто на глаз делал, на скорую руку, так сказать просто для себя :)
А вот про готовые работы это зря, процентов 80 вопросов написаны так, что дайте готовое, а на ответы с пинками отвечают типа - не понимаю, покажите как и т.д., по этому для большинства ответом является только готовое решение, а пинки уходят на задний план как неверные ответы, увы.
Совершенно верно, скрывайте его через css, при загрузке страницы сначала css грузится, в котором меню не спрятано, потом грузит js и скрывает его, по этому Вы его видите. Если спрятать его через css - display: none;, то его при загрузке страницы и не будет
https://jsfiddle.net/
codepen.io