<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Animated Search Box</title>
  <link rel="stylesheet" href="style.css">
  <script src="https://code.jquery.com/jquery-3.3.1.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script>
</head>

<body>

  <div class="middle">
    <form class="search-box">
      <input type="text" class="input" name="">
      <button type="button" class="btn" name="button"></button>
    </form>
  </div>

  <script>
    $(".btn").on("click", function() {
      $(".input").toggleClass("inclicked");
      $(".btn").toggleClass("close");
    });
  </script>

</body>

</html>
body {
  margin: 0;
  padding: 0;
  /* background: #2ecc71; */
  /* background: coral; */
  /* background: dodgerblue; */
  background: slateblue;
}

.middle {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.input {
  width: 60px;
  height: 60px;
  background: none;
  border-radius: 50%;
  border: 4px solid #fff;
  box-sizing: border-box;
  outline: none;
  transition: width 0.4s ease-in-out, border-radius 0.8s ease-in-out,
    padding 0.2s;
  transition-delay: 0.4s;
  color: white;
  font-size: 20px;
  text-transform: uppercase;
}

.inclicked {
  width: 360px;
  border-radius: 0;
  padding: 0 15px;
  padding-right: 40px;
}

.btn {
  position: absolute;
  width: 60px;
  height: 60px;
  top: 0;
  right: 0;
  box-sizing: border-box;
  background: none;
  border: none;
  outline: none;
  cursor: pointer;
}

.btn::before {
  content: "";
  width: 4px;
  height: 25px;
  background: #fff;
  position: absolute;
  transform: rotate(-45deg);
  bottom: -16px;
  right: -6px;
  transition: 0.3s;
}

.close::before,
.close::after {
  content: "";
  width: 4px;
  height: 34px;
  background: #fff;
  position: absolute;
  bottom: 12px;
  right: 28px;
}

.close::before {
  transform: rotate(-45deg);
}

.close::after {
  transform: rotate(45deg);
}
// Follow me on instagram : @aq1bhanief

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.