Расположить элементы на равном расстоянии друг от друга с помощью css-grid

Тренируюсь использовать css-grid, пытаюсь расположить три элемента в хэдере на одном расстоянии друг от друга, но они все сместились в левую сторону и не хотят задействовать левую часть контейнера. То есть надо, чтобы они расположились по всей длине контейнера, на равном расстоянии друг от друга. Помогите, пожалуйста.

.container {
  width: 140rem;
  margin: 0 auto;
}

.header {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
  align-items: center;
}

.hamburger {
  display: flex;
  flex-direction: column;
  width: 4.8rem;
}

.hamburger span {
  display: block;
  height: .2rem;
  width: 4.8rem;
  background: white;
}

.hamburger span:not(:last-child) {
  margin-bottom: .6rem;
}
<header class="header container">
  <div class="icons">
    <img src="icons/facebook.svg" alt="facebook" />
    <img src="icons/twitter.svg" alt="twitter" />
  </div>
  <img src="icons/logo.svg" alt="logo" />
  <div class="hamburger">
    <span></span>
    <span></span>
  </div>
</header>


Ответы (1 шт):

Автор решения: puffleeck

.header {
  display: grid;
  /*>по всей длине контейнера*/ grid-template-rows: 1fr;
  grid-template-columns: auto 1fr auto; /*фр больше авто, потому лого больше*/
  text-align: center;
  /*>на равном расстоянии друг от друга*/ grid-gap: 15px;
  width: 100%;
  margin: 0 auto;

}
.header > *{/*чтоб видно было*/
  background: pink;
  border: 3px solid black;
}

.hamburger {
  display: flex;
  flex-direction: column;
  width: 4.8rem;
}

.hamburger span {
  display: block;
  height: .2rem;
  width: 4.8rem;
}

.hamburger span:not(:last-child) {
  margin-bottom: .6rem;
}
<header class="header container">
  <div class="icons">
    <img src="icons/facebook.svg" alt="facebook" />
    <img src="icons/twitter.svg" alt="twitter" />
  </div>
  <img src="icons/logo.svg" alt="logo" />
  <div class="hamburger">
    <span></span>
    <span></span>
  </div>
</header>

ну как то так...

→ Ссылка