Отображение уведомлений о сообщениях внутри div-бокса

Когда пользователь вводит недействительные учетные данные, он печатает это сообщение:

Sorry, your password was incorrect.<br/> Please double-check your password

Но это не очень хорошо выглядит при печати: enter image description here

Я хочу, чтобы он выводился между кнопкой Login и Forgot password. Например: enter image description here

Теоретически, белое поле должно уходить в бут, чтобы оставить место для сообщения об уведомлениях

html файл

<div class="testlol2" >
    <div class="login-box" align="center">
        <img class="logo" src="{% static 'images/testlogo.png' %}" alt="">
    <div class="testlol" align="center">
    <form action="" method="post">
        {% csrf_token %}
        {{ form|crispy }}
        <div class="my-button">
            <input class="login-button" type="submit" value="Log in">
        </div>
    </form>
        {% if messages %}
        <ul class="messages">
        {% for message in messages %}
            <p{% if message.tags %} class="{{ message.tags }}"{% endif %}>{{ message  }}</p>
        {% endfor %}
        </ul>
        {% endif %}

        <a class="forgot" href="">Forgot password?</a>
</div>
</div>
</div>

css файл

body{
    background-color: #fafafa !important;
}

.messages {
  position: relative;
  top: 10px;
  right: 8px;
  color: red;
}

.logo {
  position: relative;
  top: 28px;
  left: 134px;
  width: 200px;
}


.testlol {
  position: relative;
  top: 115px;
  right: 90px;
}

.testlol2 {
  display:flex;
  justify-content: center;
}

.login-box {
  display:flex;
  justify-content: center;
  align-items: start;
  align-self: center;
  position: relative;
  top: 100px;
  background: #fff;
  border: 1px solid #e6e6e6;
  border-radius: 1px;
  margin:0 0 10px;
  padding: 10px 0;
  height: 280px;
  width: 325px;
}

.forgot {
  position: absolute;
  top: 128px;
  right: 95px;
  font-size: 12px;
  margin-top: 12px;
  text-align: center;
  color: #000000;
  line-height: 14px!important;
  text-decoration: none;
}

Ваш код (css) довольно беспорядочен. Я попробовал внести некоторые минимальные изменения, чтобы он частично выглядел нормально. Основным исправлением было сделать так, чтобы .messages имел отступ 115px сверху, а не располагался на 115px сверху, чтобы login-box расширялся по высоте.

body {
  background-color: #fafafa !important;
}

.messages {
  position: relative;
  top: 10px;
  right: 8px;
  color: red;
}

.logo {
  position: relative;
  top: 28px;
  left: 134px;
  width: 200px;
}

.testlol {
  position:relative;
  right: 90px;
  margin-top: 115px;
}

.testlol2 {
  display: flex;
  justify-content: center;
}

.login-box {
  display: flex;
  justify-content: center;
  align-items: start;
  align-self: center;
  position: relative;
  top: 100px;
  background: #fff;
  border: 1px solid #e6e6e6;
  border-radius: 1px;
  margin: 0 0 10px;
  padding: 10px 0;
  /* height: 280px; */
  width: 325px;
}

.forgot {
  /* position: absolute; */
  top: 128px;
  right: 95px;
  font-size: 12px;
  margin-top: 12px;
  text-align: center;
  color: #000000;
  line-height: 14px!important;
  text-decoration: none;
}
<div class="testlol2">
  <div class="login-box" align="center">
    <img class="logo" src="{% static 'images/testlogo.png' %}" alt="">
    <div class="testlol" align="center">
      <form action="" method="post">
        {% csrf_token %} {{ form|crispy }}
        <div class="my-button">
          <input class="login-button" type="submit" value="Log in">
        </div>
      </form>
      {% if messages %}
      <ul class="messages">
        {% for message in messages %}
        <p{% if message.tags %} class="{{ message.tags }}" {% endif %}>{{ message }}</p>
          {% endfor %}
      </ul>
      {% endif %}

      <a class="forgot" href="">Forgot password?</a>
    </div>
  </div>
</div>

Вернуться на верх