Вы можете использовать flex
, чтобы сделать это.Вот пример:
nav {
width: 100%;
margin-top: 10px;
}
.logo {
display: flex;
align-items: center;
}
.logo img{
width: 100%;
}
.subcontainer {
padding: 10px;
background: #eee;
}
.subcontainer .searchbar,
.subcontainer .menu {
display: block;
}
.subcontainer .searchbar {
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
}
.subcontainer .searchbar .bar {
background: #999;
height: 20px;
width: 70%;
}
.subcontainer .searchbar button {
width: 25%;
}
.subcontainer .menu ul{
padding: 10px;
display: flex;
align-items: center;
margin: 0;
}
.subcontainer .menu ul li{
list-style: none;
padding: 0 10px;
}
.text {
background: #eee;
display: flex;
align-items: center;
}
.text p {
margin: 0;
padding: 10px;
}
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
<nav>
<div class="container">
<div class="row">
<div class="logo col-2 col-sm-2 col-md-1">
<img src="https://getbootstrap.com/docs/4.1/assets/brand/bootstrap-solid.svg">
</div>
<div class="subcontainer col-10 col-sm-10 col-md-5">
<div class="searchbar">
<div class="bar"></div>
<button>Search</button>
</div>
<div class="menu">
<ul>
<li>Home</li>
<li>About</li>
<li>Projects</li>
<li>Contact</li>
</ul>
</div>
</div>
<div class="text col-12 col-sm-12 col-md-6">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. In varius semper eleifend.</p>
</div>
</div>
</div>
</nav>