Овоздиҳии элементҳои CSS Grid

Дар системаи grid имконияти овоздиҳии баъзе элементҳо ба дигареро дар ҳолати буридани манотиқи grid ё муайян кардани margin-ҳои манфӣ пешбинӣ кардааст. Овоздиҳӣ метавонад ба таври пешфарз рух диҳад, вале инчунин барои ҳар як элемент метавон онро дар тартиби муайян таъин кард ба воситаи хусусиятҳои z-index ва order, инчунин комбинатсияи онҳо.

Овоздиҳии элементҳо дар grid ба таври пешфарз

Бигзор мо як ҷадвал дошта бошем, ки дар он элементҳо бар ҳамдигар пӯшида мешаванд:

html<div id="parent">
  <div id="elem1">1</div>
  <div id="elem2">2</div>
  <div id="elem3">3</div>
</div>
css#parent {
  display: grid;
  grid: repeat(6, 1fr) / repeat(6, 1fr);
  border: 2px solid #696989;
  padding: 10px;
  width: 400px;
  height: 300px;
}
#parent > div {
  padding: 10px;
  border: 1px solid #696989;
}
#elem1 {
  background-color: pink;
  grid-column: 1 / 4;
  grid-row: 1 / 5;
}
#elem2 {
  background-color: orange;
  grid-column: 2 / 5;
  grid-row: 3 / 6;
}
#elem3 {
  background-color: green;
  grid-column: 3 / 6;
  grid-row: 2 / 4;
}

Результат:

Тағйир додани тартиби овоздиҳии элементҳо бо истифода аз хусусияти order

Ҳоло хусусияти order-ро истифода барем, онро дар ҳар як элементи фарзандӣ муайян мекунем:

html<div id="parent">
  <div id="elem1">1</div>
  <div id="elem2">2</div>
  <div id="elem3">3</div>
</div>
css#parent {
  display: grid;
  grid: repeat(6, 1fr) / repeat(6, 1fr);
  border: 2px solid #696989;
  padding: 10px;
  width: 400px;
  height: 300px;
}
#parent > div {
  padding: 10px;
  border: 1px solid #696989;
}
#elem1 {
  background-color: pink;
  grid-column: 1 / 4;
  grid-row: 1 / 5;
  order: 3;
}
#elem2 {
  background-color: orange;
  grid-column: 2 / 5;
  grid-row: 3 / 6;
  order: 2;
}
#elem3 {
  background-color: green;
  grid-column: 3 / 6;
  grid-row: 2 / 4;
  order: 1;
}

Результат:

Тартиби овоздиҳии элементҳо бо истифода аз хусусияти z-index

Ҳоло хусусияти z-index-ро истифода барем, ки имкон медиҳад тартиби ҷойгиршавии элементҳоро дар тири z-axis танзим кард:

html<div id="parent">
  <div id="elem1">1</div>
  <div id="elem2">2</div>
  <div id="elem3">3</div>
</div>
css#parent {
  display: grid;
  grid: repeat(6, 1fr) / repeat(6, 1fr);
  border: 2px solid #696989;
  padding: 10px;
  width: 400px;
  height: 300px;
}
#parent > div {
  padding: 10px;
  border: 1px solid #696989;
}
#elem1 {
  background-color: pink;
  grid-column: 1 / 4;
  grid-row: 1 / 5;
  z-index: 1;
}
#elem2 {
  background-color: orange;
  grid-column: 2 / 5;
  grid-row: 3 / 6;
  z-index: 3;
}
#elem3 {
  background-color: green;
  grid-column: 3 / 6;
  grid-row: 2 / 4;
  z-index: 2;
}

Результат:

Чунон ки аз натиҷаи ба даст оварда дида мешавад, баландтарин қимати хусусияти z-index ба элемент ҷойгиршавии болои дигар элементҳо бо қиматҳои пасттарро таъин мекунад.

Муттаҳид кардани овоздиҳии элементҳо бо истифода аз хусусиятҳои order ва z-index

Агар мо тартиби элементҳоро тағйир додем бо истифода аз z-index ва order, он гоҳ арзиши афзалият барои z-index хоҳад буд. Бар асоси ин метавон тартиби элементҳоро тағйир дод, вале дар ҳамон вақт назорат бар овоздиҳии онҳоро аз даст надиҳад:

html<div id="parent">
  <div id="elem1">1</div>
  <div id="elem2">2</div>
  <div id="elem3">3</div>
</div>
css#parent {
  display: grid;
  grid: repeat(6, 1fr) / repeat(6, 1fr);
  border: 2px solid #696989;
  padding: 10px;
  width: 400px;
  height: 300px;
}
#parent > div {
  padding: 10px;
  border: 1px solid #696989;
}
#elem1 {
  background-color: pink;
  grid-column: 1 / 4;
  grid-row: 1 / 5;
  order: 3;
  z-index: 1;
}
#elem2 {
  background-color: orange;
  grid-column: 2 / 5;
  grid-row: 3 / 6;
  order: 1;
  z-index: 2;
}
#elem3 {
  background-color: green;
  grid-column: 3 / 6;
  grid-row: 2 / 4;
  order: 1;
  z-index: 3;
}

Результат:

Вазифаҳои амалӣ

Задание 1

Бигзор дар grid-и мо чор элемент вуҷуд дошта бошад:

html<div id="parent">
  <div id="elem1">1</div>
  <div id="elem2">2</div>
  <div id="elem3">3</div>
  <div id="elem4">4</div>
</div>
css#parent {
  display: grid;
  grid: repeat(6, 1fr) / repeat(6, 1fr);
  border: 2px solid #696989;
  padding: 10px;
  width: 400px;
  height: 300px;
}
#parent > div {
  padding: 10px;
  border: 1px solid #696989;
}
#elem1 {
  background-color: pink;
}
#elem2 {
  background-color: orange;
}
#elem3 {
  background-color: green;
}
#elem4 {
  background-color: lightblue;
}

Ҳамаи элементҳоро дар мувофиқат бо мисоли зерин ҷойгир кунед, бо истифода аз хусусияти order:

Задание 2

Ва ҳоло барои ҳалли вазифаи гузашта хусусияти z-index-ро истифода баред.

Задание 3

Бигзор дар grid-и мо чор элемент вуҷуд дошта бошад:

html<div id="parent">
  <div id="elem1">1</div>
  <div id="elem2">2</div>
  <div id="elem3">3</div>
  <div id="elem4">4</div>
</div>
css#parent {
  display: grid;
  grid: repeat(6, 1fr) / repeat(6, 1fr);
  border: 2px solid #696989;
  padding: 10px;
  width: 400px;
  height: 300px;
}
#parent > div {
  padding: 10px;
  border: 1px solid #696989;
}
#elem1 {
  background-color: pink;
}
#elem2 {
  background-color: orange;
}
#elem3 {
  background-color: green;
}
#elem4 {
  background-color: lightblue;
}

Ҳамаи элементҳоро дар мувофиқат бо мисоли зерин ҷойгир кунед, бо истифода аз хусусияти order:

Задание 4

Ва ҳоло барои ҳалли вазифаи гузашта хусусияти z-index-ро истифода баред.