<div class="flex">
  <input type="text">
  <button>button button button</button>
</div>
* {
  box-sizing: border-box;
}
.flex {
  display: flex;
  flex-wrap: wrap;
}
input {
  flex-basis: 500px;
  flex-grow: 9999999999999;
}
button {
  width: fit-content;
  flex-grow: 1;
}

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.