JSFiddle - React, Tailwind, and code Playground

by Ico Dimchev

HTML

<p> <span class="gotin">This</span> <span class="gotin">is</span> <span class="gotin">just</span> <span class="gotin">a</span> <span class="gotin">normal</span> <span class="gotin">parahraph</span> </p>

CSS

/*
	Basic reset
*/
*,:before,:after {
	-moz-box-sizing:border-box;
	box-sizing:border-box;
}

body,html,div,p {
	margin:0;
	padding:0;
	outline:none;
}

/*
				Styles
			*/
p {
	font-family:Helvetica;
	margin-top:50px;
	font-size:22px;
	color:#000;
}

.gotin {
	position:relative;
	transition:all .5s;
}

.gotin:before {
	content:"";
	display:block;
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background-color:#000;
	-webkit-transform:scaleX(0);
	-ms-transform:scaleX(0);
	transform:scaleX(0);
	-webkit-transform-origin:right center;
	-ms-transform-origin:right center;
	transform-origin:right center;
	-webkit-transition:0 .4s cubic-bezier(0.19,1,.22,1);
	transition:transform .4s cubic-bezier(0.19,1,.22,1);
	z-index:-1;
}

.gotin:hover {
	color:#fff;
}

.gotin:hover:before {
	-webkit-transform:scaleX(1);
	-ms-transform:scaleX(1);
	transform:scaleX(1);
	-webkit-transform-origin:left center;
	-ms-transform-origin:left center;
	transform-origin:left center;
	-webkit-transition:0 .4s cubic-bezier(0.19,1,.22,1);
	transition:transform .4s cubic-bezier(0.19,1,.22,1);
}