TL: DR - Просто установите top
элемента с фиксированным позиционированием на 0, и он, в общем-то, будет «зафиксирован в верхней части экрана браузера».
Сначала попробуйте запустить ваш код в качестве примера, чтобы было проще ответить на ваш вопрос. Вы можете смоделировать результат с помощью Codepen (мой личный фаворит) или встроенного фрагмента кода из stackoverflow (я вижу, что вы знакомы с некоторыми инструментами, такими как выделение кода, следующим шагом будет симуляция кода, подобного * 1008). * Абед Путра сделал).
Я протестировал ваш код на CodePen и не мог понять, почему у него было это смещение, достаточно странно, когда я убрал #mission-statement-body
, когда навигация вернулась наверх (браузеры справа).
Как правило, позиции типа «плавать вокруг моего браузера», такие как absolute
и fixed
, наследуют расположение от ближайшего relative
родителя, но в вашем случае такого нет (поэтому он наследует от «бог знает что» ).
Таким образом, каждый раз, когда вы используете эти свойства позиционирования, пытайтесь установить конкретные позиции (например, top
, left
, bottom
или right
). Не полагайтесь на расположение браузера по умолчанию, потому что они всегда вас разочаруют, в Chrome это может выглядеть нормально, но в Firefox странно.
Нажмите, чтобы увидеть код на CodePen
Некоторые другие замечания о вашем коде:
- Старайтесь не использовать
id
s для установки правил CSS по нескольким причинам, но в основном они предназначены для очень специфических селекторов (например, для обработки JS), и любой компонент CSS должен быть реплицируемым и расширяемым (у вас может быть 2 nav
s, один фиксированный и один статический, а с id
s вам придется дублировать код или делать некоторые обходные пути, не считающиеся лучшими практиками).
- Старайтесь не использовать Helvetica, не только на большинстве компьютеров он не установлен, но они сильно отличаются от вашего дополнительного (Arial), а длина слов может быть проблемой, которую вы не увидите при разработке, как навигация, когда ломаются линии или кнопки, которые становятся большими в Helvetica, но не в Arial. (также Helvetica - платный шрифт, если вы действительно пытаетесь его использовать, вам придется его купить)
- Я думаю, что было бы лучше использовать
margin
или padding
на relative
позиционированных элементах, а не top
интервал, используемый в #mission-statement-body
. Кроме того, с ними вам не нужно устанавливать position
Надеюсь, это помогло