JSFiddle - React, Tailwind, and code Playground
HTML
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script src="https://fonts.googleapis.com/css?family=Source+Sans+Pro"></script>
<script src="https://fonts.googleapis.com/css?family=Lato"></script>
<center>
<table cellpadding="0" cellspacing="0" border="0" style="background: none; border-width: 0px; border: 0px; margin: 0; padding: 0;">
<tr>
<td>
<center>
<img src="https://vignette2.wikia.nocookie.net/mafiagame/images/2/23/Unknown_Person.png/revision/latest?cb=20151119092211" id="image" title="Picture to be displayed">
</center>
</td>
<td class="spacer"></td>
<td rowspan="4">
<hr>
</td>
<td class="spacer"></td>
</tr>
<tr>
<td>
<center>
<div id="fullName">Billy Staples</div>
</center>
</td>
</tr>
<tr>
<td>
<center>
<div id="job"><i>Programmer</i></div>
</center>
</td>
</tr>
<tr>
<td>
<center>
<div id="jobLocationText">at <b id="jobLocation">My Company</b></div>
</center>
</td>
</tr>
</table>
<table id="contactInfo" cellpadding="0" cellspacing="0" border="0" style="background: none; border-width: 0px; border: 0px; margin: 0; padding: 0;">
<tr>
<td>
<div id="emailAddress"><span class="otherText">Email: </span><span id="emailAddressText">[email protected]</span></div>
</td>
</tr>
<tr>
<td>
<div id="phoneNumber"><span class="otherText">Phone: </span><span id="phoneNumberFirst">111</span>-<span id="phoneNumberSecond">222</span>-<span id="phoneNumberThird">3333</span></div>
</td>
...
CSS
table {
display: inline-block;
}
#image {
width: 125px;
height: 125px;
border-radius: 50%;
margin-top: -45px;
}
.spacer {
width: 15px;
}
hr {
height: 200px;
width: 7.5px;
border-radius: 20px;
border: none;
background-color: cornflowerBlue;
}
#fullName {
font-family: 'Source Sans Pro', sans-serif;
font-size: 24px;
color: orange;
margin-top: -40px;
}
#job {
font-family: 'Source Sans Pro', sans-serif;
font-size: 18px;
margin-top: -10px;
}
#jobLocationText {
font-family: 'Source Sans Pro', sans-serif;
font-size: 16px;
margin-top: -10px;
}
.otherText {
color: seaGreen;
}
#emailAddress, #phoneNumber, #officePhoneNumber, #address, #website {
font-size: 17px;
}
#extra1, #extra2, #extra3, #extra4, #extra5, #extra6 {
white-space: pre-wrap;
}
#signatureEditorText {
font-family: 'Source Sans Pro', sans-serif;
font-size: 24px;
margin-bottom: 40px;
}
.editorTextInfo {
color: gray;
font-family: 'Lato', sans-serif;
font-size: 18px;
margin-bottom: 7px;
}
.editorTextBox {
font-family: 'Source Sans Pro', sans-serif;
font-size: 16px;
height: 20px;
width: 160px;
border: 2px solid darkGray;
border-radius: 6px;
}
.editorTextBox:focus {
outline: 0;
}
#dash1, #dash2, #dash3, #dash4 {
font-family: 'Source Sans Pro', sans-serif;
font-size: 24px;
}
#dash1 {
margin-left: -137px;
margin-top: -5px;
}
#dash2 {
margin-left: -104px;
margin-top: -5px;
}
#dash3 {
margin-left: -87px;
margin-top: -5px;
}
#dash4 {
margin-left: -54px;
margin-top: -5px;
}
#editorTextInfoPhone1 {
margin-left: -100px;
}
#editorTextInfoPhone2 {
margin-left: -131px;
}
#editorTextInfoPhone3 {
margin-left: -98px;
}
#editorTextInfoOfficePhone1 {
margin-left: -50px;
}
#editorTextInfoOfficePhone2 {
margin-left: -81px;
}
#editorTextInfoOfficePhone3 {
margin-left: -48px;
}
.editorTextBoxPhone, .editorTextBoxOfficePhone {
font-family: 'Source Sans Pro', sans-serif;
font-size: 16px;
height: 20px;
width: 24px;
...
JavaScript
$(function() {
// Save editor and fullName in variable
var $editorTextInfoname = $("#editorTextInfoName");
var $fullName = $("#fullName");
$editorTextInfoname.keyup(function() {
// Get editor text
var editorText = $editorTextInfoname.val();
$fullName.text( editorText );
if (editorText.length == 3){
$editorTextInfoname.focus().val( editorText + '-' );
}
// Sync full name with editor text
$fullName.text( $editorTextInfoname.val() );
});
});