CSS ქსელებში რიგების და სვეტების შემოკლებული ფორმა

ხშირად ხდება სიტუაცია, როდესაც მოსახერხებელია რიგების და სვეტების ზომების მითითება შემოკლებული ფორმით. ამისთვის ჩვენ ვიყენებთ grid-template თვისებას, რომელიც მითითებულია მშობელ ელემენტში და წარმოადგენს ორი თვისების: grid-template-rows და grid-template-columns შემოკლებულ ფორმას.

ქსელის კონტეინერისთვის რიგები და სვეტები მითითებულია ხაზით გამოყოფილი, მათი ზომები განსაზღვრულია საზომი ერთეულებით.

მაგალითი

მოდით grid-template თვისების გამოყენებით შევქმნათ ცხრილი:

html<div id="parent">
  <div>1</div>
  <div>2</div>
  <div>3</div>
  <div>4</div>
  <div>5</div>
  <div>6</div>
  <div>7</div>
  <div>8</div>
  <div>9</div>
</div>
css#parent {
  display: grid;
  grid-template: 1fr 1fr 1fr / 1fr 1fr 1fr;
  border: 2px solid #696989;
  padding: 10px;
  width: 600px;
  height: 400px;
}
#parent > div {
  padding: 10px;
  border: 1px solid #696989;
}

Результат:

მაგალითი

ახლა კი მივანიჭოთ მეორე და მესამე რიგებს ერთნაირი სიმაღლე, ხოლო თითოეულ სვეტს - განსხვავებული სიგანე:

html<div id="parent">
  <div>1</div>
  <div>2</div>
  <div>3</div>
  <div>4</div>
  <div>5</div>
  <div>6</div>
  <div>7</div>
  <div>8</div>
  <div>9</div>
</div>
css#parent {
  display: grid;
  grid-template: 60px 1fr 60px / 20% 1fr 15%;
  border: 2px solid #696989;
  padding: 10px;
  width: 600px;
  height: 300px;
}
#parent > div {
  padding: 10px;
  border: 1px solid #696989;
}

Результат:

მაგალითი

ახლა წინა მაგალითის ცხრილში ზედა რიგის სიმაღლე გავხადოთ ორი ფრაქცია, პირველი სვეტის სიგანე კი - ნახევარი ფრაქცია:

html<div id="parent">
  <div>1</div>
  <div>2</div>
  <div>3</div>
  <div>4</div>
  <div>5</div>
  <div>6</div>
  <div>7</div>
  <div>8</div>
  <div>9</div>
</div>
css#parent {
  display: grid;
  grid-template: 2fr 1fr 1fr / 0.5fr 1fr 1fr;
  border: 2px solid #696989;
  padding: 10px;
  width: 600px;
  height: 400px;
}
#parent > div {
  padding: 10px;
  border: 1px solid #696989;
}

Результат:

პრაქტიკული ამოცანები

Задание 1

განახორციელეთ შემდეგი ბადე:

Задание 2

განახორციელეთ შემდეგი ბადე:

Задание 3

განახორციელეთ შემდეგი ბადე:

Задание 4

განახორციელეთ შემდეგი ბადე:

Задание 5

განახორციელეთ შემდეგი ბადე: