Кажется, что вы смешиваете все виды различных техник компоновки. Я уверен, что вы не хотите устанавливать логотип на position: absolute
. Это будет позиционировать его относительно его первого (не статического) элемента-предка.
Так что вы можете избавиться от этого. Кроме того, вы также можете удалить float: left
, поскольку floating
был изобретен, чтобы позволить тексту обтекать изображение. Это может сбить с толку, поскольку было время floating
, использованное для создания всего макета.
Но вам это совсем не нужно, потому что вы используете браузеры native-grid
. Что фантастически! Просто помните о поддержке браузера: https://caniuse.com/#search=display%3A%20grid
В вашем случае вам нужно будет указать один columns
сетки. Вы можете использовать свойства grid-column
и grid-row
. Это выглядит так:
.logo, .navbar, .buttons {
grid-row: 1;
}
.logo {
grid-column: 1 / 3;
}
.navbar {
grid-column: 2 / 3;
}
.buttons {
grid-column: 3 / 3;
}
Подробнее о native-grid
можно узнать здесь .