Skip to content

Instantly share code, notes, and snippets.

@sagittaracc
Last active July 31, 2020 12:53
Show Gist options
  • Save sagittaracc/a2007a4b4214690490573abbd80e10e8 to your computer and use it in GitHub Desktop.
Save sagittaracc/a2007a4b4214690490573abbd80e10e8 to your computer and use it in GitHub Desktop.
Chatbox HTML CSS
<!doctype html>
<html>
<head>
<title>Chatbox</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div class="chat-box">
<div class="elder">Load earlier messages</div>
<div class="sender">
<div class="avatar helens-avatar"></div>
<div class="message">
<div class="name">Helen</div>
<div class="time">14:33</div>
<div class="text">Hey</div>
</div>
</div>
<div class="date">
<span>July 31</span>
</div>
<div class="receiver">
<div class="avatar mikes-avatar"></div>
<div class="message">
<div class="time">14:33</div>
<div class="text">Hey</div>
</div>
</div>
<div class="receiver">
<div class="avatar mikes-avatar"></div>
<div class="message">
<div class="time">14:33</div>
<div class="text">How are you?</div>
</div>
</div>
<div class="receiver">
<div class="avatar mikes-avatar"></div>
<div class="message">
<div class="time">14:33</div>
<div class="text">Long time no see</div>
</div>
</div>
<div class="sender">
<div class="avatar helens-avatar"></div>
<div class="message">
<div class="name">Helen</div>
<div class="time">14:33</div>
<div class="text">Yeah</div>
</div>
</div>
<div class="sender">
<div class="avatar helens-avatar"></div>
<div class="message">
<div class="name">Helen</div>
<div class="time">14:33</div>
<div class="text">Wanna meet tomorrow?</div>
</div>
</div>
<div class="receiver">
<div class="avatar mikes-avatar"></div>
<div class="message">
<div class="time">14:33</div>
<div class="text">Sonds great</div>
</div>
</div>
</div>
</body>
</html>
body {
position: relative;
width: 40%;
height: 600px;
}
.chat-box {
position: relative;
width: 100%;
height: 100%;
background: linear-gradient(rgb(229 229 239), rgb(219 206 176));
overflow: auto;
font-family: monospace;
}
.chat-box .date {
text-align: center;
padding: 10px 0;
}
.chat-box .elder {
background: rgb(199, 200, 200);
color: #333;
margin: 0 0 5px 0;
padding: 2px 0;
text-align: center;
cursor: pointer;
}
.chat-box .date > span {
background: rgb(158 179 205);
padding: 5px 15px;
color: white;
border-radius: 15px;
}
.chat-box .sender {
text-align: left;
margin-left: 72px;
}
.chat-box .receiver {
text-align: right;
margin-right: 72px;
}
.chat-box .message {
display: inline-block;
padding: 10px;
margin: 5px 0;
border-radius: 15px;
}
.chat-box .sender > .message {
background: rgb(252, 252, 252);
color: #333;
}
.chat-box .receiver > .message {
background: rgb(75 107 136);
color: white;
}
.chat-box > .sender:first-child > .message,
.chat-box > .elder + .sender > .message {
border-top-left-radius: 0;
}
.chat-box > .receiver:first-child > .message,
.chat-box > .elder + .receiver > .message {
border-top-right-radius: 0;
}
.chat-box .sender + .receiver > .message,
.chat-box .sender + .date + .receiver > .message {
border-top-right-radius: 0;
}
.chat-box .receiver + .sender > .message,
.chat-box .receiver + .date + .sender > .message {
border-top-left-radius: 0;
}
.chat-box > .sender:first-child > .avatar,
.chat-box > .receiver:first-child > .avatar,
.chat-box > .elder + .sender > .avatar,
.chat-box > .elder + .receiver > .avatar,
.chat-box .sender + .receiver > .avatar,
.chat-box .receiver + .sender > .avatar,
.chat-box .sender + .date + .receiver > .avatar,
.chat-box .receiver + .date + .sender > .avatar {
visibility: visible;
}
.chat-box .message > .name {
display: inline;
color: rgb(102, 179, 132);
font-weight: bold;
margin-right: 5px;
}
.chat-box .message > .time {
display: inline;
color: rgb(199, 200, 200);
font-weight: bold;
}
.chat-box .message > .text {
font-size: 1.2em;
}
.chat-box .avatar {
position: absolute;
width: 60px;
height: 60px;
margin-top: 5px;
border-radius: 60px;
visibility: hidden;
}
.chat-box .sender > .avatar {
left: 5px;
}
.chat-box .receiver > .avatar {
right: 5px;
}
/* Avatar examples */
.helens-avatar {
background-image: url(https://cdn1.vectorstock.com/i/1000x1000/78/80/young-woman-head-avatar-cartoon-face-character-vector-21787880.jpg);
background-position: center;
background-size: cover;
}
.mikes-avatar {
background-image: url(https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcR2BAfxeegrB7Q3c3CBORbR9Q0G_f9qgQ7PTg&usqp=CAU);
background-position: center;
background-size: cover;
}
@sagittaracc
Copy link
Author

This is what it looks like - https://ibb.co/CBDRZym

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment