Как сделать так, чтобы div внутри абсолютного родительского элемента вставлялся снизу?

#html #css

#HTML #css

Вопрос:

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

введите описание изображения здесь

Окно чата должно быть абсолютным для области просмотра, чтобы я мог перемещать его в ретроспективе в любом месте окна браузера. Но мне нужно прикрепить некоторые элементы, такие как элемент ввода и некоторые значки внутри окна чата, к нижней части, чтобы я мог анимировать открытие чата, пока эти элементы остаются на месте.

Было бы неплохо, если бы кто-нибудь мог мне помочь!

Мой html выглядит примерно так:

 <div id="chat">
  <svg id="openCloseWindow" height="28px" width="28px" viewbox="0 0 28 28"></svg>
  <div id"IshouldStickToTheBottomOfTheChatWindow">
    <svg id="chatEmote" height="28px" width="28px" viewbox="0 0 28 28"></svg>
    <input id="messageBar" type="text" placeholder="message" name="message">
  <div>
</div>  

Ответ №1:

Я считаю, что это действительно просто, используя position: fixed и bottom: 0 . Смотрите Приведенный ниже фрагмент в полноэкранном режиме:

 .chat {
  position: fixed;
  bottom: 0;
  right: 0;
  width: 160px;
  height: 20px;
  background-color: #000;
  border-radius: 15px 0 0 0;
  transition: all 0.5s linear;
  cursor: pointer;
  color: #fff;
  padding: 15px;
  border: 2px solid #000;
}

.chat span {
  color: #000;
  background-color: #fff;
  display: block;
  padding: 3px;
  border-radius: 3px;
  border: 1px solid #000;
  position: absolute;
  bottom: 10px;
  left: 10px;
  right: 10px;
}

.chat.open {
  height: 350px;
  width: 250px;
  color: #000;
  background-color: #fff;
}  
 <div class="chat" onclick="this.classList.toggle('open');">
  <span>Click Me!</span>
</div>  

Предварительный просмотр

ДЕМОНСТРАЦИЯ

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

1. Спасибо, но мой актуальный вопрос заключается в том, как я прикрепляю элемент к нижней части чата (в вашем примере текст), имея абсолютную позицию в чате.

2. @JGastager У вас может быть другой div, который position: absolute div bottom: 0 снова находится внутри with и имеет вещи внизу.

3. @JGastager Можете ли вы проверить обновленный ответ, пожалуйста?

4. Боже, спасибо! Почему я подумал, что дочерний элемент также ссылается на область просмотра ?!

5. @JGastager Я так рад, что это сработало для вас! 😁 Ха-ха, это иногда случается.