Я создаю простую форму, где я хочу иметь такой макет
Пока все хорошо, очень простые 2 столбца с вложенными 2 столбцами, все они определены с 0.5fr, что должно быть половиной "свободного пространства", если я правильно понял.
Но, если я попытаюсь уменьшить экран, это произойдет. даже если у меня нет медиа-запросов.
если вы выполните отладку с помощью chrome devtools, вы увидите, что он создает третий столбец из ниоткуда без какого-либо элемента. Есть идеи?
https://stackblitz.com/edit/js-zzm4gy?file=index.html
h1, h2 {
font-family: Lato;
}
.form{
border: 1px solid black;
text-align: center;
display: grid;
grid-template-rows: 1fr;
grid-gap: 1em;
}
.two-field{
display: grid;
grid-template-columns: 0.25fr 0.75fr;
}
/********************/
/* Four elements row*/
/********************/
.four-field{
display: grid;
grid-template-columns: 0.5fr 0.5fr;
}
.four-field .left{
display: grid;
grid-template-columns: 0.5fr 0.5fr;
}
.four-field .right{
display: grid;
grid-template-columns: 0.25fr 0.75fr;
}
/********************/
/********************/
/********************/
/********************/
/******Buttons*******/
/********************/
.buttons{
display: grid;
grid-template-columns: 0.25fr 0.75fr;
}
.button-column{
display: grid;
grid-template-columns: 0.5fr 0.5fr;
grid-column-gap: 1em;
}
/********************/
/********************/
/********************/
<div id="app">
<form class="form">
<div class="two-field">
<label>First name:</label>
<input type="text" name="firstname">
</div>
<div class="four-field">
<div class="left">
<label>Postal code:</label>
<input type="text" name="Postal code">
</div>
<div class="right">
<label>Place:</label>
<input type="text" name="Place" >
</div>
</div>
<div class="two-field">
<label>Phone</label>
<input type="text" name="phone">
</div>
<div class="buttons">
<div class="empty"></div>
<div class="button-column">
<button type="submit">Confirm</button>
<button>Abort</button>
</div>
</div>
</form>
</div>