Reputation: 15213
I am unable to create the layout template the way I want using grid-template-areas
, a display grid.
I need this arrangement:
input_1 input_1
input_2 input_3
input_4 input_4
input_5 input_5
input_6 input_7 input_8
I have already done similar templates on the grid-template-areas
principle, and I have experience with grid, but I do not understand why this template of mine does not work.
Also, I tried to use symbolic dots - .
, but it didn't help.
I know I am making a small mistake, and perhaps a stupid one, but I cannot find this error.
Thanks for your responsiveness and your time.
form {
display: grid;
grid-template-areas: 'input_1 input_1'
'input_2 input_3'
'input_4 input_4'
'input_5 input_5'
'input_6 input_7 input_8';
}
.input_1 {
grid-area: input_1;
}
.input_2 {
grid-area: input_2;
}
.input_3 {
grid-area: input_3;
}
.input_4 {
grid-area: input_4;
}
.input_5 {
grid-area: input_5;
}
.input_6 {
grid-area: input_6;
}
.input_7 {
grid-area: input_7;
}
.input_8 {
grid-area: input_8;
}
<form>
<input class="input_1" type="text">
<input class="input_2" type="text">
<input class="input_3" type="text">
<input class="input_4" type="text">
<input class="input_5" type="text">
<input class="input_6" type="text">
<input class="input_7" type="text">
<input class="input_8" type="text">
</form>
Upvotes: 0
Views: 98
Reputation: 272842
You need to have 6 columns to get such configuration. One row is having 2 columns, another one is having 3 so the smallest number that can be divided by 2 and 3 is 6
form {
display: grid;
grid-gap: 5px;
grid-template-areas: 'input_1 input_1 input_1 input_1 input_1 input_1'
'input_2 input_2 input_2 input_3 input_3 input_3'
'input_4 input_4 input_4 input_4 input_4 input_4'
'input_5 input_5 input_5 input_5 input_5 input_5'
'input_6 input_6 input_7 input_7 input_8 input_8';
}
.input_1 {
grid-area: input_1;
}
.input_2 {
grid-area: input_2;
}
.input_3 {
grid-area: input_3;
}
.input_4 {
grid-area: input_4;
}
.input_5 {
grid-area: input_5;
}
.input_6 {
grid-area: input_6;
}
.input_7 {
grid-area: input_7;
}
.input_8 {
grid-area: input_8;
}
<form>
<input class="input_1" type="text">
<input class="input_2" type="text">
<input class="input_3" type="text">
<input class="input_4" type="text">
<input class="input_5" type="text">
<input class="input_6" type="text">
<input class="input_7" type="text">
<input class="input_8" type="text">
</form>
Upvotes: 2
Reputation: 104
I've added "." to the grid-template-areas and it seems to work
form {
display: grid;
grid-template-areas:
'input_1 input_1 .'
'input_2 input_3 .'
'input_4 input_4 .'
'input_5 input_5 .'
'input_6 input_7 input_8';
}
Upvotes: 0