<div class="search-form">
  <span class="slens"> <i class="fa fa-search"></i> </span>
  <input id="s" type="text" />
  <span class="sclose"><i class="fa fa-times"></i></span>  
</div>
body{
    background:#444;
}
.search-form{
    height:40px;
    display:inline-block;
    border-radius:20px;
    background:#fff;
    margin:50px auto;
    line-height:40px;
    font-size:18px;
    box-shadow:0px 0px 3px #111;
    overflow:hidden;
    position:relative;
    width:auto;
}

.search-form span{
    width:40px;
    height:40px;
    display:inline-block;
    text-align:center;
}
span.slens{
    position:absolute;
    z-index:1;
}
input#s{
    width:0px;
    margin:0px 0px;
    padding:0px 0px 0px 40px;
    border:none;
    height:40px;
    vertical-align:top;
    position:relative;
    z-index:2;
    background:transparent;
    -webkit-transition: width 1s; /* Safari */
    transition: width 1s; 
}

input#s:focus{
    outline:none;
    width:180px;
}


.slens i{
    color:#aaa;
}

input#s + .sclose{
    width:0px;
}

input#s:focus + .sclose{
    width:40px;
    cursor:pointer;
}

.sclose i{
    color:red;
}

External CSS

  1. //maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css

External JavaScript

This Pen doesn't use any external JavaScript resources.