У меня есть строка меню, которую я пытаюсь переместить вправо, у меня также есть логотип, который я хотел бы оставить слева.
Мне удалось заставить меню перемещаться вправо и сохранить логотип справа, однако меню смещается вниз, что не соответствует логотипу.
Как привести меню в соответствие с логотипом?
Если я поставлю float слева на логотипе, он оставит странный зазор вверху и испортит макет.
Вот мой код
.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>
Вам нужно поставить 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>