Верхняя панель не сжимается так, как вы хотели бы, потому что она фиксирована, она всегда будет занимать 100% ширины области просмотра. Его CSS-свойства в вашем примере с stackoverflow:
...
position: fixed;
top: 0;
left: 0;
width: 100%; /*though it's not "really" 100vw*/
...
Даже изменяя элемент html
в CSS, например, чтобы изменить его максимальный размер до 80% ширины области просмотра, панель навигации все равно будет принимать всю ширину области просмотра.
Чтобы понять это, вы можете попробовать следующую скрипку, она может говорить за istelf: https://jsfiddle.net/bcg2vkjm/4/
На нем вы можете «откомментировать» элемент body внутри CSS и увидеть результат, это может вам помочь! Хотя он применяет только шкалу 1 (поэтому он не должен меняться ...), по какой-то причине он заставляет фиксированный элемент адаптироваться к размеру тела, что вам и нужно, вам, возможно, придется играть вместе с translateX
и / или scale
в CSS, но это может быть рискованным решением, потому что оно сильно меняет способ отображения всего, а не только фиксированного элемента, как вы можете видеть.
В вашем javascript вы можете попробовать следующее:
document.querySelector ('body'). Style.transform = "scaleX (что-то)";
например!