Как сделать эту панель навигации отзывчивой?

Я хочу сделать панель навигации с логотипом в форме шестиугольника и 3 «кнопками», выровненными, как показано на этом снимке экрана https://prnt.sc/n8nm3q.

Мне удалось выровнять их так, как я хочу, в полноэкранном режиме (1920x1080), но поскольку мой веб-сайт должен быть отзывчивым, я не знаю, как заставить эту панель навигации сохранять свое выравнивание (пробелы между элементом в списке и центром шестиугольника для находиться в нижней строке панели навигации) https://jsfiddle.net/j6wLpq1o/

Я также пытался создать список внутри списка, но он не работает так, как я думал. https://jsfiddle.net/53nLqvfp/

    <div id=navigationbar>
    <ul id = "logonav">
        <li><a id = "logo" class = "active" href = "#home"><img id = "logoimg" src = "https://i.imgur.com/pX2h0gT.png"/></a></li>
    <ul id = "nav">
        <li class = "nav"><a href = "#news">Attractions</a></li>
        <li class = "nav"><a href = "#contact">Shop</a></li>
        <li class = "nav"><a href = "#about">Contact us</a></li>
    </ul>
    </ul>
</div>

css

 #navigationbar ul{
    display: inline-block;
}

#logonav {
    list-style-type: none;
    margin: 0;
    padding: 0;
    overflow: hidden;
    background-color: #333;
    position: fixed;
    width: 100%;
    z-index: 1;
    margin-left:25vw;

}
#logonav ul{
display: inline-block;

}
#logonav ul li{
display: inline-block;
}
ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
    overflow: hidden;
    background-color: #333;
    position: fixed;
    width: 100%;
    text-align:left;
    z-index: 1;
}

li {
    float: none;
    display: inline-block;

}

li a {
    display: block;
    color: white;
    text-align: center;
    text-decoration: none;
    padding: 14px 4vw;
    border-right: 1px solid red;
}

li a:hover{
    background-color: #111;
}

#logo {
    margin-top: 2vh;
    padding-right: 15px;
    border:0px;

}

#logoimg {
    width: 8vw;
    height: auto;
}
#nav{
    margin-top: 15px;
}

Спасибо за уделенное время.

Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
2
0
37
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Кажется, вы используете display: inline-block. Который вы можете использовать, но требуется много медиа-запросов, чтобы добраться туда, где вы хотите, чтобы ваши элементы иногда реагировали.

Вместо этого попробуйте использовать flexbox — https://css-tricks.com/snippets/css/a-guide-to-flexbox/

Другие вопросы по теме