Я хочу сделать свой сайт с помощью системной сетки CSS, но, похоже, он не работает. Вот мой код:
.grid { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; grid-template-areas: "logo faq" "about-us"; } .logo { background-color: blue; grid-area: logo; } .faq { background-color: red; grid-area: faq; } .aboutUs { background-color: cyan; grid-area: about-us; }
LOGO FAq About-us
При использовании свойства grid-template-areas
значения строк должны иметь одинаковое количество столбцов.
.grid { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; grid-template-areas: "logo faq" "about-us about-us"; } .logo { background-color: blue; grid-area: logo; } .faq { background-color: red; grid-area: faq; } .aboutUs { background-color: cyan; grid-area: about-us; }
LOGO FAq About-us
Если это:
Является желаемым результатом, тогда вы сделали лишь незначительную ошибку.
Вы установили сетку в квадрат 2 x 2:
grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr;
Но вы не заполняете все пространство.
grid-template-areas: "logo faq", "about-us";
В этой строке кода говорится: «В двух верхних квадратах помещаются логотип и faq соответственно. В нижней части две строки помещаются вокруг нас», и это вызывает ошибку. Если вы хотите, чтобы одна область grid-area
заполнила все пространство, вам нужно объявить ее дважды . Таким образом, указанная выше строка становится:
grid-template-areas: "logo faq", "about-us about-us";
.grid { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; grid-template-areas: "logo faq", "about-us"; } .logo { background-color: blue; grid-area: logo; } .faq { background-color: red; grid-area: faq; } .aboutUs { background-color: cyan; grid-area: about-us; }
LOGO FAq About-us