сделал аналогичную навигацию, но не знаю, как сделать так, чтоб когда пользователь нажимал на вкладку, она оставалась на своём месте. У меня же, когда нажимаешь, она скачет
Данил Доценко, Если Вы считаете, что эти ответы Вам не подходят - либо сформулируйте полностью что не так, с пошаговым объяснением в картинах, либо запишите видео.
Данил Доценко, если вы про изменение размеров кнопок меню на 1 пиксель - то это из-за border.
делайте тонкие границы, как box-shadow: 0px 0px 1px 0px #вашцвет; - не будут влиять на размер блока.
Альтернативно - в разных состояниях кнопки меняйте цвет вашего border, но не убирайте его, чтобы блоки не смещались.
Данил Доценко, вы для активной кнопки убираете класс .navBar и добавляете класс.active. Не убирайте .navBar, просто добавляйте или убирайте .active.
и у .active cвойство margin: 3px 5px 0; если убрать вовсе - то и высота кнопок не будет меняться
и также у .active уберите свойство padding - из-за того, что он отличается от padding в .navBar - текст внутри кнопки тоже скачет.
и задание height:25px у того же .active - тоже лишнее
.active на размеры контейнера уже никак не влияет, будучи добавленным поверх .navBar и вообще в .active остались только те значения, которые должны быть другими при выделении кнопки, все дублирующие значения удаляем.
Всё аккуратно вписывается в родительский контейнер, имея одинаковую высоту, одинаковые паддинги и маргины.
Данил Доценко, с телефона я вижу ту же капусту, как и на скрине выше (только скроллбар не показывается). Если у вас "прыгает" состояние прокрутки скроллбара при переходе по ссылкам из этого меню - это нормально, браузер не запоминает позицию скролла - вы же ничего для этого не сделали, тем более пользователь попадает на новую страницу.
Чтобы этого не происходило, есть несколько вариантов (все они требуют javascript):
асинхронная загрузка по нажатию кнопки меню с запретом дефолтного поведения ссылки
запоминание позиции скролла меню, установка куки/session storage/local storage с этим значением, чтение куки/session storage/local storage на новой странице, установка скролла по значению из куки/session storage/local storage
запоминание позиции скролла меню, добавление хеш-части к href ссылки ко всем кнопкам меню, чтение этого хеша на новой странице, установка скролла по значению из хеша