Области шаблона сетки - проблемы с отображением - PullRequest
0 голосов
/ 11 апреля 2019

Я новичок в CSS Grid и сейчас играю с ним сейчас.Я хочу сделать шаблон сетки 4х4.

В моем коде эта сетка отображается неправильно - проблема с Table_4.Почему это показывает неправильно?Ребята, скажите, пожалуйста, что я сделал не так?

body {
  background-color: gray;
}
.grid {
  display: grid;
  width: 100%;
  height: 250px;
  grid-template-rows: 1fr 1fr 1fr 1fr;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-template-areas: 
    "item-a item-a item-a item-a"
    "item-b . . ."
    "item-b . . ."
    "item-b . . .";  
}
.item-a {
  grid-area: item-a;
  background-color: lightcoral;
  text-align: center;
}
.item-b {
  grid-area: item-b;
  background-color: lightblue;
  text-align: center;
}
.item-c {
  grid-area: item-c;
  background-color: lightcyan;
  text-align: center;
}
.item-d {
  grid-area: item-d;
  background-color: lightgreen;
  text-align: center;
}
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>

  <link rel="stylesheet" type="text/css" href="../sources/css/style.css">
</head>
<body>
  <div class="grid">
    <div class="item-a">Table_1</div>
    <div class="item-b">Table_2</div>
    <div class="item-c">Table_3</div>
    <div class="item-d">Table_4</div>
  </div>
</body>
</html>

1 Ответ

2 голосов
/ 11 апреля 2019

Вам нужно перечислить item-c в ваших областях grid-template:

body {
  background-color: gray;
}

.grid {
  display: grid;
  width: 100%;
  height: 250px;
  grid-template-rows: 1fr 1fr 1fr 1fr;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-template-areas: "item-a item-a item-a item-a" "item-b item-c item-c item-c" "item-b item-c item-c item-c" "item-d item-d item-d item-d";
}

.item-a {
  grid-area: item-a;
  background-color: lightcoral;
  text-align: center;
}

.item-b {
  grid-area: item-b;
  background-color: lightblue;
  text-align: center;
}

.item-c {
  grid-area: item-c;
  background-color: lightcyan;
  text-align: center;
}

.item-d {
  grid-area: item-d;
  background-color: lightgreen;
  text-align: center;
}
<div class="grid">
  <div class="item-a">Table_1</div>
  <div class="item-b">Table_2</div>
  <div class="item-c">Table_3</div>
  <div class="item-d">Table_4</div>
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...