Центрирование панели навигации: Bootstrap 4

Я пытаюсь центрировать элементы на панели навигации, но независимо от того, что я делаю, элементы приклеиваются слева. В какой-то момент я мог заставить их всех сместиться на полдюйма вправо или влево, переключаясь между ml-auto, mx-auto и mr-auto. Теперь ничего не двигается, даже когда я это делаю. Я не уверен, что я сделал.

Я уже пробовал несколько примеров кода из других сообщений, но ни один из них не работает. Я относительно новичок в кодировании, поэтому не уверен, что сломалось.

я пробовал добавить d-flex justify-content-center в navbar-collapse, обоснование содержимого по центру в div «collapse navbar-collapse» и несколько других вещей, предложенных в других сообщениях.

<link rel = "stylesheet" href = "https://maxcdn.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css">

<nav class = "navbar navbar-expand-md navbar-light bg-light sticky-top">
  <div class = "container-fluid">
    <a class = "navbar-brand" href = "#"><img src = "img/logo3.png" style = "width:13%;" ;></a>

    <button class = "navbar-toggler" type = "button" data- toggle = "collapse" data-target = "#navbarResponsive">
    		 <span class = "navbar-toggler-icon"></span>
    	        </button>
    <div class = "collapse navbar-collapse d-flex justify-content-center" id = "navbarResponsive">
      <ul class = "navbar-nav ml-auto">
        <li class = "nav-item">
          <a class = "nav-link" href = "#">home</a>
        </li>
        <li class = "nav-item">
          <a class = "nav-link" href = "#">home</a>
        </li>
        <li class = "nav-item">
          <a class = "nav-link" href = "#">home</a>
        </li>
      </ul>
    </div>
  </div>
</nav>

Насколько мне известно, в моем CSS на данный момент ничего не нацелено на Nav.

Мне просто нужны элементы навигации в середине панели навигации.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
554
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Удалите класс CSS ml-auto из тега ul.

Добавьте это в CSS

.navbar-brand {
   position: absolute !important;
}
рабочая демонстрация codepen
nitin9nair 30.06.2019 06:43

спасибо за ответ. Удаление ml-auto переместило все на дюйм влево к центру, но все еще находится в самом левом углу страницы.

jay777 30.06.2019 08:25

Вместо ml-auto попробуйте mx-auto

nitin9nair 30.06.2019 08:27

К сожалению ничего не изменилось..

jay777 30.06.2019 08:35

Вы проверили демо codepen, которое я добавил в предыдущем комментарии?

nitin9nair 30.06.2019 08:36

Можете ли вы добавить скриншот того, как панель навигации отображается в вашем проекте?

nitin9nair 30.06.2019 08:40

извините за это, я не заметил демо, все еще привыкаю к ​​сайту. поэтому я проверил, и ваше предложение действительно сработало, но только когда я удалил изображение своего логотипа. теперь он центрирован, но мне нужно, чтобы мой логотип был в левом углу.

jay777 30.06.2019 08:54

Эй, твоя проблема исправлена?

nitin9nair 30.06.2019 09:04

нет, мне все еще нужно выяснить, как расположить элементы по центру с логотипом в углу.

jay777 30.06.2019 09:10

Я работаю над этим. Эта проблема возникает, поскольку положение пункта меню панели навигации зависит от ширины вашего логотипа. Хороший вопрос кстати.

nitin9nair 30.06.2019 09:12

ок круто. Спасибо, я ценю помощь. Если это поможет, исходное изображение имеет размер 900 x 900 пикселей, но я установил ширину 14% внутри тега img, используя стиль.

jay777 30.06.2019 09:17

Проверьте мой ответ сейчас. Я добавил исправление для этой проблемы. Вот рабочая демонстрация codepen для него.

nitin9nair 30.06.2019 09:17

Теперь исправление будет работать, даже если вы зададите логотипу любую ширину. Элементы навигации всегда будут в center

nitin9nair 30.06.2019 09:18

Ваш код работает с Hello world, но мой логотип по-прежнему сдвигает все вправо, когда я добавляю ссылку. Может дело в размере? также элементы навигации немного смещены от центра... опять же, я ценю помощь. добавлю скриншот.

jay777 30.06.2019 09:33

извините нет возможности добавить скриншот..

jay777 30.06.2019 09:49

Попробуйте уменьшить изображение логотипа, а не использовать изображение размером 900 x 900 пикселей и изменять его ширину с помощью CSS. Работает ли решение, если вы добавляете любое другое изображение

nitin9nair 30.06.2019 09:54

Я сделал изображение маленьким, а элементы навигации теперь гораздо более центрированы, но все еще справа от центра. Мне просто нужно переместить его примерно на 3 дюйма влево.

jay777 30.06.2019 10:04

вы добавили .navbar-brand { position: absolute !important; } в CSS

nitin9nair 30.06.2019 10:06

да, я сделал, но ничего не меняется. Мой логотип теперь 150x150 px.

jay777 30.06.2019 10:13

Чтобы CSS работал, он должен быть ниже ссылки bootstrap CSS, которую вы добавили в файл index.html.

nitin9nair 30.06.2019 10:18

хорошо, так что получилось, чтобы все было в нужном положении, но теперь логотип выходит за пределы панели навигации. Кажется, что навигационная панель подходит только для самих элементов, в то время как логотип перетекает через край на страницу.

jay777 30.06.2019 20:26

Это сработало для меня: <div class = "collapse navbar-collapse d-flex" id = "navbarResponsive"> и <ul class = "navbar-nav mx-auto">.

/* Nesessary for the logi i use
    You might not need it
*/
.navbar-brand img {
  width: 64px;
  height: auto;
}

/* To keep the nav items
* centered and full width
* on mobile phones
*/

@media (max-width: 575px) {  
 .navbar-nav {
    width: 100%;
  }
  .navbar-nav li {
    text-align: center;
  }
}
<link rel = "stylesheet" href = "https://maxcdn.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css">


<nav class = "navbar navbar-expand-md navbar-light bg-light sticky-top">
  <div class = "container-fluid">
    <a class = "navbar-brand" href = "#"><img src = "https://i.stack.imgur.com/SENHZ.png" ;></a>

    <button class = "navbar-toggler" type = "button" data- toggle = "collapse" data-target = "#navbarResponsive">
    		 <span class = "navbar-toggler-icon"></span>
    </button>
    <div class = "collapse navbar-collapse d-flex" id = "navbarResponsive">
      <ul class = "navbar-nav mx-auto">
        <li class = "nav-item">
          <a class = "nav-link" href = "#">home</a>
        </li>
        <li class = "nav-item">
          <a class = "nav-link" href = "#">home</a>
        </li>
        <li class = "nav-item">
          <a class = "nav-link" href = "#">home</a>
        </li>
      </ul>
    </div>
  </div>
</nav>

к сожалению, это не исправило. Предметы не двигаются.

jay777 30.06.2019 08:31

@ jay777 Скопируйте и вставьте код, который я разместил. Вы забыли закрыть <ul> в своем. Я внес правку в ваш код. Вы должны принять это.

Razvan Zamfir 30.06.2019 08:40

извините за это, ваш код работает, но по какой-то причине он работает только тогда, когда я удаляю свой логотип в левом углу. когда я разрываю ссылку на изображение, элементы списка центрируются, но мне нужно, чтобы логотип был в углу.

jay777 30.06.2019 09:01

@ jay777 Здесь я тоже добавил логотип.

Razvan Zamfir 30.06.2019 09:15

какой размер вашего логотипа?

jay777 30.06.2019 09:50

@jay777 128x128px. Это не должно происходить. Мой был слишком высоким.

Razvan Zamfir 30.06.2019 09:56

Другие вопросы по теме