Из-за того, что padding-bottom
не может быть применено здесь, мой ответ не уместился в этом случае, поэтому я провел исследование по альтернативам для предложенного расположения сетки и, что удивительно, для позиционирования fixed
блок нижнего колонтитула.
В этом примере я решил оставить код без <ul>
, который имеет довольно большой список значений css элемента по умолчанию . Я предположил, что первое сообщение всегда приходит от пользователя, и использовал :not()
CSS-селектор для стилизации блоков ответов. Вы можете изменить .user
и :not(user)
на любые классы, такие как .me
и .him
в соответствии с вашим HTML.
section {display:flex;flex-direction:column}
section * {
width: 75%;
border: 1px solid #757575;
border-radius:20px;
padding:2px 10px;
margin-bottom:2px
}
.user {
background:#ccc;
margin-left: auto
}
section :not(.user) {
background:#eee
}
section :not(.user) + .user, .user + :not(.user) {
margin-top:5px
}
footer {
height: 30px;
position: sticky; /* Yes. It works now */
bottom: 0;
background: #000;
color: white;
text-align: center;
line-height: 28px
}
<section>
<div class="user">Need some help with HTML</div>
<div class="user">And CSS maybe</div>
<div class="user">Want it to work with long-lenth messages as well, you know. And in all the browsers, even IE...</div>
<div>Sure</div>
<div>Lets test this one</div>
<div>Quite a good in terms of browser support in 2019</div>
<div class="user">Awsome!</div>
<div class="user">Thank you so much</div>
<div>You are welcome</div>
<div class="user">Goodbye</div>
</section>
<footer>
<p>Sticky Footer</p>
</footer>