Левая боковая панель отодвигается вправо

#html #css #layout

Вопрос:

Я только что сделал заголовок своего сайта, и теперь я пытаюсь создать боковую панель, однако вместо того, чтобы придерживаться левой стороны, ее сдвигают вправо, и я не знаю, почему… но я думаю, это из-за плавающих элементов, которые я добавил в заголовок? Я попытался установить поля на 0, переместив их влево, и ничего не работает.

Вот код:

 body {
  font-size: 62.5%;
}

:root {
  --color-primary: #b22222;
}

/* Box */

#box {
  margin: 2% 20%;
}

/* Header */

#header {
  background-color: var(--color-primary);
  width: 100%;
  height: 100px;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
}

.oldenhook_icon {
  height: 90px;
  width: 90px;
  margin-left: 15px;
  float: left;
}

.header_h1 {
  color: #800000;
  font-family: "Noto Sans Mono", monospace;
  font-size: 2.5rem;
  font-weight: 900;
  display: inline-block;
  margin-left: 30%;
  margin-bottom: 0;
}

.flexbox {
  display: flex;
  flex-direction: row;
  float: right;
  list-style-type: none;
  margin-right: 22%;
}

.list-item {
  color: #fff;
  padding-left: 5px;
  text-decoration: none;
  font-size: 12px;
  font-family: "lucida grande", tahoma, verdana, arial, sans-serif;
}

/* Search box */

#searchbox {
  top: 40px;
  position: relative;
} 
  <div id="box">
      <div id="header">
        <i
          ><img
            class="oldenhook_icon"
            src="icons/icon2.png"
            alt="The Oldenhook Icon"
        /></i>
        <div>
          <h1 class="header_h1">[amp;nbsp;oldenhookamp;nbsp;]</h1>
          <ul class="flexbox">
            <a href="#" class="list-item">home</a>
            <a href="#" class="list-item">search</a>
            <a href="#" class="list-item">global</a>
            <a href="#" class="list-item">social net</a>
            <a href="#" class="list-item">invite</a>
            <a href="#" class="list-item">faq</a>
            <a href="#" class="list-item">logout</a>
          </ul>
        </div>
        <div id="searchbox">
            
           <label for="email">Email:</label>
           <input name="email" id="email" type="text">
           <p>oifjqoifjq</p>
           <p>ofijqofiqjf</p>
      </div>
    </div> 

Комментарии:

1. Я попробовал ваш код, и вам просто нужно удалить float: right боковую панель, которая будет слева, или я неправильно понимаю ваш вопрос

2. Вам следует вообще отказаться от привычки использовать поплавки. После 15 лет разработки CSS для них, на мой взгляд, есть только один вариант использования, который заключается в обертывании текста вокруг изображения. В противном случае от них будет больше проблем, чем пользы.

Ответ №1:

Ваш код в порядке, просто удалите float: right; его из класса flexbox в css

Ответ №2:

Я думаю, вы можете добавить position: absolute; в класс .flexbox{}