Форма входа

Unatka.ru

css3

Раскладка CSS Grid. Дочерние элементы

Ранее были изложены свойства родительского элемента  раскладки Grid. Эта статья расскажет о свойствах дочерних элементов сетки.


grid - column - start;
grid - column - end;
grid - row - start;
grid - row - end;


4 свойства grid - элементов, которыми можно обозначить границы элемента (ячейки).


grid - column - start; указывает вертикальную линию начала элемента;
grid - column - end; указывает вертикальную линию конца элемента;
grid - row - start; указывает горизонтальную линию начала элемента;
grid - row - end; указывает горизонтальную линию конца элемента;

Согласно рис.1 верхняя часть состоит из 3-х элементов. Основная разметка
контейнера выглядит как

.conteiner {
   display: -ms-grid;
   display : grid;
   grid-template-columns: [1] 5px [2] repeat(3,32%) [3, 4, 5] 5px[6] ;
   grid-template-rows: [1] 5px [2] 10em [3] 5em [4] 10em [5] ;
   grid-gap: 5px;
}

Где:
Разметка колонок:

  • линия1 — линия2  -   5px : расстояние по горизонтали между вертикальными линиями 1 и 2 составляет  5px;
  • линия2 — линия3  -   32% : расстояние по горизонтали между вертикальными линиями 2 и 3 составляет  32%;
  • линия3 — линия4  -   32% : расстояние по горизонтали между вертикальными линиями 3 и 4 составляет  32%;
  • линия4 — линия5  -   32% : расстояние по горизонтали между вертикальными линиями 4 и 5 составляет  32%;
  • линия5 — линия6  -   5px : расстояние по горизонтали между вертикальными линиями 5 и 6 составляет  5px;


Разметка строк:

  • линия1 — линия2  -   5px : расстояние по вертикали между горизонтальными линиями 1 и 2 составляет  5px;
  • линия2 — линия3  -   10em : расстояние по вертикали между горизонтальными линиями 2 и 3 составляет 10em ;
  • линия3 — линия4  -   5em : расстояние по вертикали между горизонтальными линиями 3 и 4 составляет  5em;
  • линия4 — линия5  -   10em : расстояние по вертикали между горизонтальными  линиями 4 и 5 составляет 10em;
  • линия5 — линия6  -   5px : расстояние по вертикали между горизонтальными линиями 5 и 6 составляет  5px;

Расстояние между колонками 5px;
Расстояние между строками 5px;

Пример разметки дизайн-шаблона на сайте https://unatka.ru

рис.1. Разметка страницы с указанием вертикальных и горизонтальных линий


Обозначим положение первого элемента верхней строки. Назовем его one :

.one {
grid - column - start: 2;
grid - column - end: 3;
grid - row - start: 2;
grid - row - end: 3;
}


Здесь первый элемент начинается:
по горизонтали (строка ) -  с горизонтальной линии 2 и заканчивается на горизонтальной линии 3;
по вертикали (колонка) - с вертикальной линии 2 и заканчивается на вертикальной линии 3.


Когда grid - column - end и grid - row - end не указаны элемент займет 1 трек по умолчанию.


Элемент, следующий за первым в строке назовем two и разметим:

.two  {
grid - column - start: 3;
grid - column - end: 4;
grid - row - start: 2;
grid - row - end: 3;
}


Здесь второй элемент начинается:
по горизонтали (строка ) - с горизонтальной линии 2 и заканчивается на горизонтальной линии 3;
по вертикали (колонка) - с вертикальной линии 3 и заканчивается на вертикальной линии 4.


Элемент, следующий за первым в колонке назовем middle и разметим:

.middle {
grid - column - start: 2;
grid - column - end: 5;
grid - row - start: 3;
grid - row - end: 4;
}


Здесь мы указали, что средний  элемент начинается:
по горизонтали (строка ) -  с горизонтальной линии 3 и заканчивается на горизонтальной линии 4;
по вертикали (колонка) - с вертикальной линии 2 и заканчивается на вертикальной линии 5.


Подобным образом размечаем остальные элементы.


Сокращенная запись свойств дочерних элементов сетки grid


Свойства элементов можно записать короче, используя


grid - column;
grid - row;


Стартовую и конечную линии указываем через слеш "/".


Для элемента two-down запись будет выглядеть как
.two-down  {
  grid-column: 4/5;
  grid-row: 4;
}


Здесь:
 элемент занимает по горизонтали (строка ) - горизонтальную строку 4;
 элемент начинается по вертикали (колонка) - с вертикальной линии 4 и заканчивается на вертикальной линии 5.

Выравнивание содержимого grid - элемента


justify - self


Выравнивает содержимое элемента относительно вертикальной оси.
Принимает правила:


justify - self :  start |  end | center | stretch ;


По умолчанию используется  stretch;


start выравнивает содержимое по левой стороне ячейки.

end     выравнивает содержимое по правой стороне ячейки.

stretch   заполняет всю ширину ячейки.

center выравнивает содержимое по центру ячейки.


align - self


Выравнивает содержимое относительно горизонтальной оси. Применяется ко всем элементам сетки.
Можно использовать следующие значения:


align - self :  start |  end | center | stretch;


По умолчанию используется  stretch;


start выравнивает содержимое по верхней части ячейки.

end выравнивает содержимое по нижней части ячейки.

center выравнивает содержимое по центру ячейки.

stretch заполняет всю высоту ячейки.

Пример разметки grid

К элементу one применим свойство align-self: start, к элементу two свойство justify-self: start, three - свойства justify-self: center; align-self: end. Остальные элементы будут использовать свойства по умолчанию.

Вид:

Свойства дочерних элементов

1
2
.examplegrid {display : grid;}
4
justify-content: start;
6


Код:

 

<meta charset="utf-8">
<style>
 .examplegrid  {
    border: dotted 1px red;
    font-size: 10px;
}

 .examplegrid  {
    display : grid;
    display: -ms-grid;
    
   grid-template-columns:  5px   repeat(3,30%)   5px;
   grid-template-rows: 5px 10em 5em 10em;
   grid-gap: 5px;
   
   background-color: grey;
   font-size: 10px;
}
 
 .one {
    grid-column-start: 2;
    grid-column-end: 3;
    grid-row-start: 2;
    grid-row-end: 3;

    justify-self: stretch;
    align-self:  start;

    background-color: green;
}

.two  {
    grid-column-start: 3;
    grid-column-end: 4;
    grid-row-start: 2;
    grid-row-end: 3;

    justify-self: start;
    align-self:  stretch;

    background-color: green;
}

 .three {
    grid-column: 4/5;
    grid-row: 2;

    justify-self: center;
    align-self:  end;

    background-color: green;
}

.middle {
    grid-column-start: 2;
    grid-column-end: 5;
    grid-row-start: 3;
    grid-row-end: 4;

    background-color: red;
}

.one-down  {
    grid-column: 2/4;
    grid-row: 4;

    background-color: yellow;
}

.two-down  {
    grid-column: 4/5;
    grid-row: 4;

    background-color: yellow;
}
</style>

<h4>Свойства дочерних элементов</h4>

<div class="examplegrid">

  <div class="one">
    <strong>1</strong>
  </div>

  <div class="two">
    <strong>2</strong>
  </div>

  <div class="three">
    <code>.examplegrid {display : grid;}</code>
  </div>

   <div class="middle">4</div>

   <div class="one-down"><code>justify-content: start;</code></div>
   <div class="two-down">6</div>

</div>
<br>


Эта статья о том, как применяются правила для grid - элементов.

Родионова Галина Евгеньевна

2019-03-08


◄ Назад 

.

Поделитесь с друзьями!

Закрыть
Форма входа

Я согласен(на) на обработку моих персональных данных