JSFiddle - React, Tailwind, and code Playground

HTML

<!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8">
            <link rel="stylesheet" href="style.css">
            <title >Test search</title>
            <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.1.0/css/all.css" integrity="sha384-lKuwvrZot6UHsBSfcMvOkWwlCMgc0TaWr+30HWe3a4ltaBwTZhyTEggF5tJv8tbt" crossorigin="anonymous">
        </head>
    <body>
            
            <div class="search-box">
                <input class="search-txt" type="text" name="" placeholder="Recherche ici">
                <a  class="search-btn" href="#">
                    <i class="fas fa-search"></i>
                </a>
            </div>
    </body>
    </html>

CSS

body {
    margin :0;
    padding:  0;
    background:  #e84118;
}
.search-box{
    position:  absolute;
    top: 50%;
    left: 50%;
    transform:  translate(-50%, -50%);
    background: #2f3640;
    height: 40px;
    border-radius: 40px;
    padding: 10px;
}
.search-box:hover > .search-txt{
    width: 240px;
    padding: 0 6px;
}

.search-box:hover > .search-btn{
    background: white;
}

.search-btn{
    color: #e84118;
    float: right;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #2f3640;
    display: flex;
    justify-content: center;
    align-items: center;
}

.search-txt{
    border: none;
    background: none;
    outline: none;
    float: left;
    padding: 0;
    color: white;
    font-size: 16px;
    transition: 0.4s;
    line-height: 40px;
    width: 0px;
}