Мне кажется, что вы можете решить эту проблему, просто показывая свое меню поверх основного контента, используя position:absolute;
и z-index
.
Но из того, что я думаю, вы можете попробовать CSS Подход подобный этому:
-----------------------------
| | |
| | |
| | |
| | |
| | |
menu content
10% 90%
затем примените его следующим образом:
.menu[style*="hidden"] .content {
width: 90vw;
}
.menu:not([style*="hidden"]) .content {
width: 100vw;
}
Предполагая, что вы применяете visibility: hidden;
к своему меню, когда скрываете его. В противном случае вы можете изменить "скрытый" на любое свойство, которое вы применяете.