JSFiddle - React, Tailwind, and code Playground
by Jim_Toth
HTML
<div class="container">
<h1>Section Name <small>Some Detales About the section</small></h1>
<form>
<div class="group">
<input type="text" value="font-family: 'Source Sans Pro', sans-serif;" required>
<span class="highlight"></span>
<span class="bar"></span>
<label>Main Font Family</label>
</div>
<div class="group">
<input type="text" required>
<span class="highlight"></span>
<span class="bar"></span>
<label>Headlines Font Family</label>
<p>(Optional) Blank Field will make Headlines get the Main Font Family.</p>
</div>
<div class="group">
<input type="text" value="font-family: 'Source Sans Pro', sans-serif;" required>
<span class="highlight"></span>
<span class="bar"></span>
<label>Main Font Family</label>
</div>
<div class="group">
<input type="text" required>
<span class="highlight"></span>
<span class="bar"></span>
<label>Headlines Font Family</label>
<p>(Optional) Blank Field will make Headlines get the Main Font Family.</p>
</div>
</form>
</div>
CSS
* { box-sizing:border-box; }
/* basic stylings ------------------------------------------ */
body{ background:#E4E4E4; }
.container{
font-family:'Roboto';
width:80%;
margin:30px auto 0;
display:block;
background:#FFF;
padding:10px 50px 50px;
}
h1{
text-align:center;
margin-bottom:50px;
}
h1 small{
font-weight:normal;
color:#888;
display:block;
font-size:15px;
}
/* form starting stylings ------------------------------- */
.group{
position:relative;
margin-bottom:60px;
}
.group input{
font-size:18px;
padding:10px 10px 10px 5px;
display:block;
width:100%;
border:none;
border-bottom:1px solid #757575;
}
.group input:focus{ outline:none; }
.group p{
margin: 6px 0 0 2px;
font-size: 12px;
color: #D4852E;
}
/* LABEL ======================================= */
label{
color:#999;
font-size:18px;
font-weight:normal;
position:absolute;
pointer-events:none;
left:5px;
top:10px;
transition:0.2s ease all;
-moz-transition:0.2s ease all;
-webkit-transition:0.2s ease all;
}
/* active state */
input:focus ~ label, input:valid ~ label{
top:-20px;
font-size:14px;
color:#5264AE;
}
/* BOTTOM BARS ================================= */
.bar{ position:relative; display:block; width:100%; }
.bar:before, .bar:after{
content:'';
height:2px;
width:0;
bottom:1px;
position:absolute;
background:#5264AE;
transition:0.2s ease all;
-moz-transition:0.2s ease all;
-webkit-transition:0.2s ease all;
}
.bar:before{
left:50%;
}
.bar:after{
right:50%;
}
/* active state */
input:focus ~ .bar:before, input:focus ~ .bar:after{width:50%;}
/* HIGHLIGHTER ================================== */
.highlight {
position:absolute;
height:60%;
width:100px;
top:25%;
left:0;
pointer-events:none;
opacity:0.5;
}
/* active state */
input:focus ~ .highlight {
-webkit-animation:inputHighlighter 0.3s ease;
-moz-animation:inputHighlighter 0.3s ease;
...