JSFiddle - React, Tailwind, and code Playground
HTML
<div class="v-wrap">
<article class="v-box">
<p>This is how I've been doing it for some time</p>
</article>
</div>
CSS
body,html{
height: 100%;
margin: 0;
padding: 0;
}
.v-wrap{
height: 100%;
text-align: center;
white-space: nowrap;
}
.v-wrap:before{
content: "";
display: inline-block;
vertical-align: middle;
width: 0;
margin-right: -.25em; /*might want to tweak this. .25em for extra white space */
height: 100%;
}
.v-box{
display: inline-block;
vertical-align: middle;
white-space: normal;
padding: 0 1em;
background: #EEE;
}