Как расположить логотип левее?
подскажите пожалуйста как расположить блоки как на 1 картинке?
У меня получается так и я не понимаю как переместить логотип левее.
код прилагаю:
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
header,
.nav-main,
.nav-main__list {
display: flex;
justify-content: space-between;
align-items: center;
height: 56px;
}
header{
width: 1512px;
}
.header__menu{
padding-right: 10px;
margin-right: -120px;
}
.header__controls{
display: flex;
justify-content: space-between;
align-items: center;
margin-left: 70px;
margin-right: 20px ;
margin-top: 10px;
width: 1372px;
}
header p{
margin-left: 30px;
}
.nav-main__list{
gap: 33px;
}
.header__logo{
z-index: 2;
}
body{
/* font: 150 16px/18px; */
}
a{
color: inherit;
text-decoration: none;
}
ul li{
list-style-type: none;
}
.search {
display: inline-flex;
border-radius: 8px;
padding: 10px;
background-color: #EBEFEC;
}
.search-icon {
width: 20px;
height: 20px;
margin-right: 10px;
order: -1;
}
.search-field {
width: 300px;
border: 0;
background-color: #EBEFEC;
}
.search-field:focus {
outline: none;
}
/* Описание меню */
.sidenav {
height: 100%; /* 100% Full-height */
width: 0; /* 0 width - change this with JavaScript */
position: fixed; /* Stay in place */
z-index: 1; /* Stay on top */
top: 0; /* Stay at the top */
left: 0;
background-color: #fff; /* Black*/
overflow-x: hidden; /* Disable horizontal scroll */
padding-top: 60px; /* Place content 60px from the top */
transition: 0.5s; /* 0.5 second transition effect to slide in the sidenav */
}
/* The navigation menu links */
.sidenav a {
padding: 8px 8px 8px 32px;
text-decoration: none;
font-size: 25px;
color: #121613;
display: block;
transition: 0.3s;
}
/* When you mouse over the navigation links, change their color */
.sidenav a:hover {
color: #12e435;
}
/* Position and style the close button (top right corner) */
.sidenav .closebtn {
position: absolute;
top: 0;
right: 25px;
font-size: 36px;
margin-left: 50px;
}
/* Style page content - use this if you want to push the page content to the right when you open the side navigation */
#main {
transition: margin-left .5s;
padding: 20px;
}
/* On smaller screens, where height is less than 450px, change the style of the sidenav (less padding and a smaller font size) */
@media screen and (max-height: 450px) {
.sidenav {padding-top: 15px;}
.sidenav a {font-size: 18px;}
}
#mySidenav{
display:block;
align-items: center;
}
/* .header__search {
display: flex;
align-items: center;
justify-content: center;
padding: 10px 15px;
background-color: #8f8f8f;
color: #8f8f8f;
width: 425px;
margin: 100px auto;
border-radius: 40px;
}
input {
color: #8f8f8f;
width: 100%;
height: 35px;
line-height: 35px;
border: transparent;
}
i {
color: #8f8f8f;
margin-right: 20px;
} */
/*
form {
position: relative;
width: 300px;
margin: 0 auto;
background: #EBEFEC;
}
input, button {
border: none;
outline: none;
background: transparent;
}
input {
width: 100%;
height: 42px;
padding-left: 15px;
}
button {
height: 42px;
width: 42px;
position: absolute;
top: 0;
right: 0;
cursor: pointer;
}
button:before {
content: "\f002";
font-family: FontAwesome;
font-size: 16px;
color: #F9F0DA;
} */
<header>
<div class="header__controls">
<span onclick="openNav()"><img src="/img/Head-menu.png" /></span>
<img class="header__logo" src='img/header_logo.png' alt="Логотип">
<div class="search">
<input type="text" class="search-field" placeholder="Введите запрос">
<img src="/img/Search.png" alt="" class="search-icon">
</div>
<div id="mySidenav" class="sidenav">
<a href="javascript:void(0)" class="closebtn" onclick="closeNav()">×</a>
<a href="#">Товары</a>
<a href="#">Услуги</a>
<a href="#">Бренды</a>
</div>
<nav class="nav-main">
<ul class="nav-main__list">
<li class="nav-main__link nav-main__link__selected">
<a href="#company">О компании</a>
</li>
<li class="nav-main__link">
<a href="#carier">Карьера</a>
</li>
<li class="nav-main__link">
<a href="#news">Новости</a>
</li>
<li class="nav-main__link">
<a href="#contacts">Контакты</a>
</li>
</ul>
</nav>
<p>+7(499)707-71-53</p>
</div>
</header>
Ответы (1 шт):
Блок header__controls
у вас является flex-элементом c фиксированной шириной. Свойство justify-content: space-between
говорит о том, что дочерние элементы внутри этого блока будут расположены так, чтобы промежутки между ними были одинаковы.
Логотип header__logo
является таким дочерним элементом. Т.е. вы боретесь с эффектом, который сами сознательно создали.
Ладно, есть минимум 2 элементарных способа:
- margin, например
margin-left: -100px
, илиmargin-right: auto
. - translate,
transform: translateX(-100px)
.
100px
в данном случает условное значение - меняйте как угодно. Попробуйте все варианты, чтобы понять какой вам больше подходит.