https://jsfiddle.net/cje0nuq1/
HTML
<form action="" class="form">
<div class="form-input-wrap">
<div class="form__header">Leave a review</div>
<div class="input-area">
<label>Name</label>
<input type="text" name="name">
</div>
<textarea class="text-input"></textarea>
</div>
<input type="submit" value="Publish">
</form>
CSS
:root {
--first-color: rgb(250, 250, 250);
--second-color: rgb(255, 102, 102);
--third-color: rgb(255, 74, 74);
}
.form {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
font-family: Arial, Helvetica, sans-serif!important;
margin: 0 auto;
width: 650px;
min-height: 200px;
background: var(--first-color);
color: #000;
padding: 5%;
border: thin solid #ccc;
}
.form__header {
margin: 0 auto;
color: var(--third-color);
font-size: 20px;
margin-bottom: 15px;
font-weight: bold;
text-align: center;
}
.form-input-wrap {
width: 60%;
}
.input-area {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
padding-bottom: 5px;
margin-bottom: 15px;
border-bottom: thin solid #ccc;
width: auto;
}
.input-area label {
width: 150px;
font-size: 20px;
color: var(--third-color);
}
.input-area input {
border: thin solid #ccc;
height: 22px;
}
.input-area input:focus {
outline: none!important;
}
.text-input {
resize: none;
width: 90%;
min-height: 100px;
}
.text-input:focus {
outline: none;
}
.form input[type="submit"] {
width: auto;
margin: 0 auto;
background: var(--third-color);
color: #fff;
border: none;
border-radius: 15px;
padding: 5px;
margin-top: 15px;
}
.form input[type="submit"]:hover {
background: darkred;
cursor: pointer;
}
How to make .input-area container take the exact same amount of space that its childs take?