Вы определили 4 столбца, поэтому браузер будет заполнять их, начиная с первого, и не будет прыгать тот, что в середине, определенный .
, если вы явно не сказали ему сделать это.
Если вы хотите смоделировать такое поведение, вы можете просто определить 2 столбца и опираться на пробелы:
#mygrid {
border: 1px solid black;
width: 160px;
display: grid;
grid-template-columns: 40px 40px;
grid-column-gap: 80px;
grid-template-areas: "a b";
}
<div id="mygrid">
<div>hello</div>
<div>there</div>
</div>
Другая идея заключается в использовании пустого элемента для заполнения этих столбцов:
#mygrid {
border: 1px solid black;
width: 160px;
display: grid;
grid-template-columns: 40px 40px 40px 40px;
grid-template-areas: "a i i b";
}
#mygrid:before {
content:"";
grid-area:i;
}
<div id="mygrid">
<div>hello</div>
<div>there</div>
</div>