SCSS
by Victor
HTML
<div class="messenger">
<div class="messenger__topbar">
<div class="messenger__topbar__title">To: Armilla</div>
<div class="messenger__topbar__close">X</div>
</div>
<div class="messenger__display">
<div class="messenger__display__message messenger__display__message--from">
<div class="messenger__display__message__content">
<!-- <div class="messenger__display__message__content__name">Name</div> -->
<div class="messenger__display__message__content__text">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Magnam rem explicabo consequuntur! Ullam dolorum aperiam totam mollitia, deleniti maiores, molestiae assumenda recusandae ratione illum alias odio officiis unde laboriosam omnis!</div>
</div>
<div class="messenger__display__message__avatar"><img src="https://placeimg.com/500/500/nature" alt=""></div>
</div>
<div class="messenger__display__message messenger__display__message--to">
<div class="messenger__display__message__content">
<!-- <div class="messenger__display__message__content__name">Name</div> -->
<div class="messenger__display__message__content__text">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Magnam rem explicabo consequuntur! Ullam dolorum aperiam totam mollitia, deleniti maiores, molestiae assumenda recusandae ratione illum alias odio officiis unde laboriosam omnis!</div>
</div>
<div class="messenger__display__message__avatar"><img src="https://placeimg.com/500/500/nature" alt=""></div>
</div>
</div>
<div class="messenger__editor">
<div class="messenger__editor__input">
<input type="text" />
</div>
<div class="messenger__editor__submit">Send</div>
</div>
</div>
SCSS
$spacing: 1rem;
* {
/* box-shadow: inset 0 0 0 1px red; */
box-sizing: border-box;
}
.messenger {
font-family: sans-serif;
border: 1px solid #f4f4f4;
border-radius: 4px;
overflow: hidden;
&__topbar {
padding: $spacing/2;
display: flex;
color: white;
background:blue;
margin-bottom: 0.75rem;
&__title {
flex: 1;
padding: 0.25rem;
font-size: 12px;
}
&__close {
flex: 0;
padding: 0.25rem;
font-size: 12px;
}
}
&__display {
padding: $spacing/2 $spacing/2 0;
&__message {
padding: 0 0 $spacing*1.5;
display: flex;
justify-content: flex-end;
&__content {
max-width: 75%;
&__name {
font-size: 1rem;
padding:0 0.5rem;
min-height: 40px;
line-height: 40px;
/* vertical-align: middle; */
text-align: right;
}
&__text {
padding: 1rem;
border-radius: 4px;
/* background: #999; */
background: #f4f4f4;
font-size: 0.88rem;
line-height: 1.33;
margin-right: 1rem;
position: relative;
&:before {
content: '';
width: 0;
height: 0;
border-top: 10px solid transparent;
border-bottom: 10px solid transparent;
border-left: 10px solid #f4f4f4;
position: absolute;
top: 10px;
left: 100%;
}
&:after {
content: '3:34pm';
position: absolute;
top: 100%;
right: 0;
/* padding: 0.25rem; */
font-size: 10px;
margin-top: 5px;
}
}
}
&__avatar {
img {
width: 40px;
border-radius: 40px;
}
}
&--from {
...