Здравствуйте! У меня возникла проблема с использованием свойства display: flex. Элементы не перемещаются так, как мне хотелось бы, или перемещаются не в те места, где нужно. Можете подсказать, в чем может быть дело? Я оборачиваю контейнер с флексом, но результата все равно не получается.
Вот мой код:
<pre><code class="html"><!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Burger Langer</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<header class="header">
<div class="container">
<img src="./images/icons/logo.png" alt="" class="logo">
</header>
<ul class="header_nav">
<ul class ="header_list">
<li><a href="#!">HOME</a></li>
<li><a href="#!">PAGES</a></li>
<li><a href="#!">OUR OFFER</a></li>
<li><a href="#!">PRICING</a></li>
<li><a href="#!">SHOP</a></li>
</ul>
<a href="" class="btn">Order now</a>
</nav>
</div>
</header>
</body>
</html></code></pre>
<pre><code class="css">@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');
body {
font-family: "Roboto", serif;
background-color: #1c1c1c;
color: #fff;
}
a {
color:#fff;
text-decoration: none;
}
ul {
list-style: none;
padding: 0;
margin: 0;
}
.container {
}
.header .container {
display: flex;
justify-content: space-between;
align-items: center;
}
.logo {
}
.header_nav {
}
.header_list {
}
.btn {
}</code></pre>
Судя по вашему коду, проблема может быть связана с тем, что вы неправильно обернули `header_nav` и `header_list` в структуре HTML. Вы пытаетесь использовать элементы, связанные с навигацией, но они не находятся внутри флекс-контейнера. Кроме того, у вас есть опечатки в HTML, например, закрывающий тег `<nav>` неправильно написан: вместо `<nav>` вы используете `</nav>`, что приводит к ошибке в структуре страницы.
Попробуйте исправить ваш HTML-код следующим образом:
```html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Burger Langer</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<header class="header">
<div class="container">
<img src="./images/icons/logo.png" alt="" class="logo">
<nav class="header_nav">
<ul class="header_list">
<li><a href="#!">HOME</a></li>
<li><a href="#!">PAGES</a></li>
<li><a href="#!">OUR OFFER</a></li>
<li><a href="#!">PRICING</a></li>
<li><a href="#!">SHOP</a></li>
</ul>
<a href="#" class="btn">Order now</a>
</nav>
</div>
</header>
</body>
</html>
```
Также, вот несколько советов по вашему CSS:
1. Убедитесь, что у вас есть какие-то стили для `.header_nav`, `.header_list`, `.btn` и `.logo`, чтобы их отобразить на странице.
2. Если вы хотите, чтобы элементы внутри `.header_nav` размещались в одной линии, используйте `display: flex;` для `.header_nav` так же, как вы сделали с `.container`.
Обновите ваш CSS, добавив стиль для `.header_nav`:
```css
.header_nav {
display: flex;
align-items: center;
}
.header_list {
display: flex; /* Это поместит элементы списка в одну строку */
margin-right: auto; /* Отодвинет кнопку вправо */
}
.btn {
margin-left: 20px; /* Отступ от списка */
}
```
Таким образом, при правильной структуре HTML и соответствующих стилях CSS элементы в вашем заголовке будут выстраиваться так, как вы хотите.
Во-первых, неплохо бы закрыть div внутри header. <br/> Во-вторых, нельзя вкладывать ul прямо в ul. <br/> В-третьих, тег a нельзя вкладывать прямо в ul. <br/> В-четвёртых, nav нигде не открыт, чтобы его закрывать. <br/> В-пятых, у вас один из ul не закрыт (думаю, хотели написать nav). <br/> В-шестых, у вас попытка закрыть header, который уже закрыт. <br/> <br/> Советую расставить все отступы и внимательно следить за тегами, какой где открывается, а какой где закрывается <br/>