Как разместить строку меню и логотип с помощью css?

У меня есть строка меню, которую я пытаюсь переместить вправо, у меня также есть логотип, который я хотел бы оставить слева.

Мне удалось заставить меню перемещаться вправо и сохранить логотип справа, однако меню смещается вниз, что не соответствует логотипу.

Как привести меню в соответствие с логотипом?

Как разместить строку меню и логотип с помощью css?

Если я поставлю float слева на логотипе, он оставит странный зазор вверху и испортит макет.

Как разместить строку меню и логотип с помощью css?

Вот мой код

    .navbar-collapse ul a {
        font-family: "Barlow", sans-serif;
        color: white;
        text-decoration: none;
        vertical-align: top;
      }
      .navbar-collapse ul a:hover {
        background-color: white;
        color: #23303e;
        border-radius: 50px;
        text-transform: uppercase;
        font-weight: 900;
        font-family: "Fraunces", serif;
        padding: 10px 30px 10px;
      }
    }

  .navbar-collapse ul {
    padding: 0;
    margin: 0;
    float: right;
    display: flex;
  }

      .navbar-collapse li {
        display: inline;
        float: left;
      }

  .logo {
    width: 20%;
    margin: 0 auto;
    padding: 7.5px 10px 7.5px 0;
  }
}

 <nav>
      <div class = "container-fluid">
        <a class = "nav-brand" href = "#page-top"><img src = "images/logo.svg" class = "logo" alt = "Sunnyside Logo"></a>
        <button class = "navbar-toggle" type = "button">
            <img src = "images/icon-hamburger.svg" class = "hamburger" alt = "hamburger">
          </button>
        <div class = "navbar-collapse">
          <ul>
            <li class = "nav-link text-center"><a href = "#">About</a></li>
            <li class = "nav-link text-center"><a href = "#">Services</a></li>
            <li class = "nav-link text-center"><a href = "#">Projects</a></li>
            <li class = "nav-link text-center"><a href = "#">Contact</a></li>
          </ul>
        </div>
      </div>
    </nav>
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
1
0
35
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

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

Вам нужно поставить display: flex вместо .container-fluid, чтобы все пункты меню находились в той же строке, что и логотип. Чтобы выровнять пункты меню по правому краю, нужно поставить margin-left: auto вместо .navbar-collapse

Вот полный код

.navbar-collapse ul a {
  font-family: "Barlow", sans-serif;
  color: white;
  text-decoration: none;
  vertical-align: top;
}

.container-fluid {
  display: flex;
}

.navbar-collapse {
  margin-left: auto;
}

.navbar-collapse ul a:hover {
  background-color: white;
  color: #23303e;
  border-radius: 50px;
  text-transform: uppercase;
  font-weight: 900;
  font-family: "Fraunces", serif;
  padding: 10px 30px 10px;
}


}
.navbar-collapse ul {
  padding: 0;
  margin: 0;
  float: right;
  display: flex;
}
.navbar-collapse li {
  display: inline;
  float: left;
}
.logo {
  width: 20%;
  margin: 0 auto;
  padding: 7.5px 10px 7.5px 0;
}

}
<nav>
  <div class = "container-fluid">
    <a class = "nav-brand" href = "#page-top"><img src = "images/logo.svg" class = "logo" alt = "Sunnyside Logo"></a>
    <button class = "navbar-toggle" type = "button">
       <img src = "images/icon-hamburger.svg" class = "hamburger" alt = "hamburger">
     </button>
    <div class = "navbar-collapse">
      <ul>
        <li class = "nav-link text-center"><a href = "#">About</a></li>
        <li class = "nav-link text-center"><a href = "#">Services</a></li>
        <li class = "nav-link text-center"><a href = "#">Projects</a></li>
        <li class = "nav-link text-center"><a href = "#">Contact</a></li>
      </ul>
    </div>
  </div>
</nav>

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