I'm trying to do the same with the date like WhatsApp does on mobile and web when you start scrolling. Heres a question about this topic but only in Android but I want to do this in HTML, CSS and JS:
How to display a date like Whatsapp on scrolling ListView
So this is my actual layout I have:
#messages {
border: 1px solid;
max-height: 200px;
overflow-y: scroll;
}
#messages > div {
margin-bottom: 15px;
padding-left: 3%;
padding-right: 3%;
}
.message.right {
text-align: right;
}
.divider {
text-align: center;
}
.divider span {
padding: 6px 12px;
text-align: center;
line-height: 1;
background: gray;
color: #fff;
border-radius: 6px;
}
<div id="messages">
<div class="message left">Testnachricht</div>
<div class="message left">Testnachricht</div>
<div class="message left">Testnachricht</div>
<div class="divider">
<span>22.02.2020</span>
</div>
<div class="message right">Testnachricht</div>
<div class="message right">Testnachricht</div>
<div class="message right">Testnachricht</div>
<div class="message right">Testnachricht</div>
<div class="message left">Testnachricht</div>
<div class="divider">
<span>Heute</span>
</div>
<div class="message right">Testnachricht</div>
<div class="message right">Testnachricht</div>
<div class="message left">Testnachricht</div>
<div class="message left">Testnachricht</div>
<div class="message left">Testnachricht</div>
<div class="message right">Testnachricht</div>
<div class="message right">Testnachricht</div>
<div class="message right">Testnachricht</div>
<div class="message left">Testnachricht</div>
<div class="message left">Testnachricht</div>
<div class="message left">Testnachricht</div>
<div class="message right">Testnachricht</div>
<div class="message right">Testnachricht</div>
<div class="message right">Testnachricht</div>
<div class="message left">Testnachricht</div>
<div class="message left">Testnachricht</div>
<div class="message left">Testnachricht</div>
<div class="message right">Testnachricht</div>
</div>
Is there any possible way to detect when a date (22.02.2020 or Heute) scrolls out of the view with a bit of space from the top? If yes, how can I stick this at the top of my scrolling border box until the next date comes in?
UPDATE
Here you can see what I mean:
