Самый простой способ получить <nav>
внутри <header>
- установить элемент <h1.brand-name>
на display:inline-block
.По умолчанию агенты браузера устанавливают теги <hX>
на display:block
, что охватывает эти элементы на 100% доступного пространства и в этом случае толкает <nav>
вниз под ним.Поскольку <header>
имеет фиксированную высоту, это вынудило <nav>
выйти наружу.
Я также добавил ...
display: flex;
align-items: center;
justify-content: space-between;
К <header.index-head>
для равномерного размещения дочерних элементов по вертикали и горизонтали.
Затем я добавил flex-grow: 1;
к *Элемент 1019 *, который обеспечивает его приоритетность, когда flex-box определяет его ширину относительно своих братьев и сестер.
Подробнее о Flex Box
*{
margin: 0;
padding: 0;
}
ul{
list-style: none;
}
a{
text-decoration: none;
}
.index-head{
height: 90px;
width: 100%;
background-color: #000;
overflow: hidden;
display: flex;
align-items: center;
justify-content: space-between;
}
.logo{
width: 50px;
float: left;
margin: 20px;
margin-right: 0;
}
.brand-name{
color: #ffc107;
line-height: 90px;
font-family: 'Catamaran', sans-serif;
display: inline-block;
}
.index-head nav{
float: right;
margin-top: 0;
width: 50%;
flex-grow: 1;
}
.index-head nav ul li{
list-style: none;
display: inline-block;
font-size: 25px;
padding-left: 50px;
}
<body>
<header class="index-head">
<a href="#"><img class="logo" src="images/logo.png"></a>
<h1 class="brand-name">Eeat</h1>
<nav>
<ul>
<li><a href="#">Home</a></li>
<li><a href="#">About Us</a></li>
<li><a href="#">Signup</a></li>
<li><a href="#">Login</a></li>
</ul>
</nav>
</header>
</body>