How to create: Chat messages

Understand how to use CSS to create chat messages.

Chat messages

Avatar

Hello. How are you today?

11:00
Avatar

Hey! I'm doing well. Thanks for caring!

11:01
Avatar

That's great! So, what do you want to do today?

11:02
Avatar

I don't know. Play football... or maybe learn more programming?

11:05

Try it yourself

How to create chat messages

First step - Add HTML:

<div class="container">
  <img src="/w3images/bandmember.jpg" alt="Avatar">
  <p>Hello. How are you today?</p>
  <span class="time-right">11:00</span>
</div>
<div class="container darker">
  <img src="/w3images/avatar_g2.jpg" alt="Avatar" class="right">
  <p>Hey! I'm fine. Thanks for asking!</p>
  <span class="time-left">11:01</span>
</div>
<div class="container">
  <img src="/w3images/bandmember.jpg" alt="Avatar">
  <p>Sweet! So, what do you want to do today?</p>
  <span class="time-right">11:02</span>
</div>
<div class="container darker">
  <img src="/w3images/avatar_g2.jpg" alt="Avatar" class="right">
  <p>Nah, I don't know. Play soccer or perhaps learn more coding?</p>
  <span class="time-left">11:05</span>
</div>

Step 2 - Add CSS:

/* Chat container */
.container {
  border: 2px solid #dedede;
  background-color: #f1f1f1;
  border-radius: 5px;
  padding: 10px;
  margin: 10px 0;
}
/* Darker chat container */
.darker {
  border-color: #ccc;
  background-color: #ddd;
}
/* Clear the float */
.container::after {
  content: "";
  clear: both;
  display: table;
}
/* Set the style for the images */
.container img {
  float: left;
  max-width: 60px;
  width: 100%;
  margin-right: 20px;
  border-radius: 50%;
}
/* Set the style for the right image */
.container img.right {
  float: right;
  margin-left: 20px;
  margin-right:0;
}
/* Set the style for the right time text */
.time-right {
  float: right;
  color: #aaa;
}
/* Set the style for the left time text */
.time-left {
  float: left;
  color: #999;
}

Try it yourself