JSFiddle - React, Tailwind, and code Playground

by Sergey Py

HTML

<div class='inmsg'>
        <div class="inmsg__user">
        	<img src="https://cdn0.iconfinder.com/data/icons/users-android-l-lollipop-icon-pack/24/user-128.png" alt="юзер">
        </div>
        <div class="inmsg__text-wrapper">
        <div class="inmsg__text">Lorem ipsum dolor sit a впа варп пар опаро рпао рлрпол рпо дрпдорлд ло орлд орлд орд iv></div>
        <div class="inmsg__time">
        	<span>17:59</span>
        </div>
    </div>
    <div class='outmsg'>
         <div class="outmsg__text">Lorem ipsum dolor sit a</div>
        <div class="outmsg__time">
        	<span>17:59</span>
        </div>
    </div>

    <div class='inmsg'>
        <div class="inmsg__user">
        	<img src="https://cdn0.iconfinder.com/data/icons/users-android-l-lollipop-icon-pack/24/user-128.png" alt="юзер">
        </div>
        <div class="inmsg__text-wrapper">
        <div class="inmsg__text">Lorem ipsum dolor sit a</div></div>
        <div class="inmsg__time">
        	<span>17:59</span>
        </div>
    </div>

CSS

*, :before, :after {
    box-sizing: border-box;
}


.inmsg {
	width: 100%;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	font-family: "Lucida Grande",Tahoma,Geneva,Verdana,sans-serif;
	margin-bottom: 15px;
}


.inmsg__user {
	width: 100px;
	padding-right: 50px;
	flex-shrink: 0;
}

.inmsg__user img{
	width: 50px;
	height: 50px;
}

.inmsg__text-wrapper {
	width: 100%;
	padding-right: 50px;
}


.inmsg__text {
	width: auto;
	position: relative;
	padding: 15px;
	background-color: #dcdcdc;
	font-family: "Lucida Grande",Tahoma,Geneva,Verdana,sans-serif;
	font-size: 14px;
	line-height: 20px;
	color: #727272;
}

.inmsg__text:before {
	position: absolute;
	width: 0;
	height: 0;
	left: -5px;
	top: 10px;
	content: '';
	border-top: 5px solid transparent;
	border-right: 6px solid #dcdcdc;
	border-bottom: 5px solid transparent;
}

.inmsg__time {
	padding-top: 13px;
	padding-left: 50px;
	width: 90px;
	flex-shrink: 0;
	text-align: right;
}

.inmsg__time span {
	font-size: 12px;
	line-height: 14px;
}



.outmsg {
	width: 100%;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	font-family: "Lucida Grande",Tahoma,Geneva,Verdana,sans-serif;
	margin-bottom: 15px;
}




.outmsg__text {
	width: 100%;
	position: relative;
	padding: 15px;
	margin-left: 140px;
	background-color: #eee;
	font-family: "Lucida Grande",Tahoma,Geneva,Verdana,sans-serif;
	font-size: 14px;
	line-height: 20px;
	color: #727272;
}

.outmsg__text:before {
	position: absolute;
	width: 0;
	height: 0;
	right: -5px;
	top: 10px;
	content: '';
	border-top: 5px solid transparent;
	border-left: 6px solid #eee;
	border-bottom: 5px solid transparent;
}

.outmsg__time {
	padding-top: 13px;
	padding-left: 50px;
	width: 90px;
	flex-shrink: 0;
	text-align: right;
}

.outmsg__time span {
	font-size: 12px;
	line-height: 14px;
}