what is the reason that a CSS Grid layout is rendered differently when a top level child item is an input rather than a div? and how could I resolve this so that they are rendered consistently?
CSS:
.container {
display: grid;
grid-template-rows: 1fr;
grid-template-columns: auto;
grid-auto-flow: column;
grid-row-gap: 1rem;
grid-column-gap: 1rem;
margin-bottom: 1rem;
}
.container > * {
border: 2px dashed blue;
}
.item-1 {
grid-row: 1;
grid-column: 1 / span 5;
}
.item-2 {
grid-row: 1;
grid-column: 6;
}
.item-3 {
grid-row: 1;
grid-column: 7 / span 4;
}
.item-4 {
grid-row: 1;
grid-column: 11 / span 1;
}
CSS Grid with divs as children:
<div class="container">
<div class="item-1">Item 1</div>
<div class="item-2">Item 2</div>
<div class="item-3">Item 3</div>
<div class="item-4">Item 4</div>
</div>
CSS Grid with one child instead as an input:
<div class="container">
<div class="item-1">Item 1</div>
<div class="item-2">Item 2</div>
<input type="text" class="item-3" value="item 3" />
<div class="item-4">Item 4</div>
</div>