Я использую загрузчик на моем сайте, и у меня возникают проблемы с верхней панелью navbar. Когда я просто использую штатную навигационную панель, все нормально. Тем не менее, когда я пытаюсь переключить его на панель навигации с фиксированным верхом, весь другой контент на сайте перемещается вверх, как будто панель навигации отсутствует, и панель навигации перекрывает ее. вот как я это изложил:
.navbar.navbar-fixed-top
.navbar-inner
.container
.container
.row
//yield content
я попытался скопировать примеры начальной загрузки точно, но все еще имел эту проблему только при использовании navbar с фиксированной вершиной. Что я делаю не так?
источник
Как уже говорили другие, добавление верхней части кузова прекрасно работает. Но когда вы делаете экран более узким (по ширине сотового телефона), между панелью навигации и корпусом возникает разрыв. Кроме того, переполненная навигационная панель может переноситься на многострочную панель, снова перезаписывая часть содержимого.
Это решило такие проблемы для меня
Это делает заполнение 40px по умолчанию и 0px, когда ширина меньше 768px (что в соответствии с документацией bootstrap является отсечкой макета сотового телефона, где будет создан разрыв)
источник
body { padding-top: 40px; }
достаточногораздо более удобное решение для вашей справки, оно отлично работает во всех моих проектах:
измените свою первую строку с
в
источник
Эта проблема известна, и есть обходной путь на сайте начальной загрузки Twitter:
Это сработало для меня:
источник
@ Райан, вы правы, жесткое кодирование высоты будет плохо работать в случае пользовательских панелей навигации. Это код, который я использую для BS 3.0.0 счастливо:
источник
parseInt
в css значения высоты, я просто использовал$('#main-navbar').height()
, но в остальном это было очень полезно и решило мою проблему, спасибо.Я положил это перед контейнером yield:
Мне нравится этот подход, потому что он документирует взлом, необходимый для его работы, плюс он также работает для мобильной навигации.
РЕДАКТИРОВАТЬ - это работает намного лучше:
источник
Проблема заключается в navbar-fixed-top, который будет перекрывать ваш контент, если не указан body-padding. Ни одно из предложенных здесь решений не работает в 100% случаев. Решение JQuery мигает / сдвигает страницу после загрузки страницы, что выглядит странно.
Для меня реальным решением является не использование navbar-fixed-top, а navbar-static-top.
источник
Как я уже писал в аналогичном вопросе, я добился большого успеха в создании фиктивной нефиксированной навигационной панели прямо перед моей настоящей фиксированной навигационной панелью.
Интервал отлично работает на всех размерах экрана.
источник
Решение для Bootstrap 4, оно отлично работает во всех моих проектах:
измените свою первую строку с
в
Ссылка на документацию по начальной загрузке
О времени они сделали это правильно: D
источник
Все предыдущие решения тем или иным образом жестко кодируют 40 пикселей специально в HTML или CSS. Что, если навигационная панель содержит другой размер шрифта или изображение? Что делать , если у меня есть хорошая причина не возиться с телом дополнения в первую очередь? Я искал решение этой проблемы, и вот что я придумал:
Вы можете переместить его вверх или вниз, отрегулировав «1». Кажется, это работает для меня независимо от размера содержимого в панели навигации, до и после изменения размера.
Мне интересно, что другие думают по этому поводу: пожалуйста, поделитесь своими мыслями. (Кстати, это будет рефакторинг, чтобы не повторяться.) Помимо использования jQuery, есть ли другие причины не подходить к проблеме таким образом? У меня даже есть это работает со вторым navbar, как это:
PS: Выше приведен Bootstrap 2.3.2 - будет ли он работать в 3.x До тех пор, пока остаются общие имена классов ... фактически, он должен работать независимо от начальной загрузки, верно?
РЕДАКТИРОВАТЬ: Вот полная функция jquery, которая обрабатывает две сложенные, отзывчивые фиксированные панели навигации динамического размера. Требуются 3 HTML-класса (или могут использоваться идентификаторы): user-top, admin-top и contentwrap:
источник
Просто поменяйте
fixed-top
сsticky-top
. Таким образом, вам не придется рассчитывать отступы.И это работает!
источник
Also note that .sticky-top uses position: sticky, which isn’t fully supported in every browser.
Смотрите - getbootstrap.com/docs/4.5/components/navbar/#placementДля обработки строк переноса в строке меню примените идентификатор к панели навигации, например:
и добавьте этот небольшой скрипт в голову после включения jquery, например так:
Таким образом, верхний слой тела автоматически регулируется.
источник
для Bootstrap 3. + я бы использовал следующий CSS для исправления navbar-fixed-top и проблемы с перекрытием перехода привязки на основе https://github.com/twbs/bootstrap/issues/1768
источник
использовать этот класс внутри тега nav
Для начальной загрузки 4
источник
Все, что вам нужно сделать, это
источник
В дополнение к ответу Ника Бисби, если вы столкнулись с этой проблемой, используя HAML в рельсах, и применили исправление Роберто Барроса здесь:
(См. Https://github.com/seyhunak/twitter-bootstrap-rails/issues/91 )
... вам нужно поместить тело CSS перед оператором require следующим образом:
Если оператор require находится перед телом CSS, он не вступит в силу.
источник
Я бы сделал это:
Это должно гарантировать, что блок навигации не растягивает страницу вниз и покрывает содержимое страницы.
источник
Я просто завернул навигационную панель в
Нет фантазии фокус-покус, но это сработало ..
источник
nav-? ??
представляет?