จำนวนและความกว้างของแถวใน CSS Grid

องค์ประกอบของ Grid ยังสามารถจัดวางตามแถวได้อีกด้วย สำหรับสิ่งนี้มีคุณสมบัติ grid-template-rows ที่ออกแบบมาเป็นพิเศษ คุณสมบัตินี้รับค่าขนาดของแถวโดยคั่นด้วยช่องว่าง สามารถใช้ค่าต่างๆ เหมือนกับที่เราได้ศึกษามาแล้วสำหรับคอลัมน์ได้

ตัวอย่าง

ตัวอย่าง ลองจัดวางบล็อกในสี่แถว:

html<div id="parent">
  <div>1</div>
  <div>2</div>
  <div>3</div>
  <div>4</div>
</div>
css#parent {
  display: grid;
  grid-template-rows: 50px 100px 50px 50px;
  border: 2px solid #696989;
  padding: 10px;
  width: 600px;
}
#parent > div {
  padding: 10px;
  border: 1px solid #696989;
}

Результат:

ตัวอย่าง

มากำหนดความกว้างแบบตายตัวในหน่วยพิกเซลให้กับแถวที่หนึ่งและที่สาม และปล่อยให้แถวที่สองครอบครองพื้นที่ที่เหลือ:

html<div id="parent">
  <div>1</div>
  <div>2</div>
  <div>3</div>
</div>
css#parent {
  display: grid;
  grid-template-rows: 100px auto 60px;
  border: 2px solid #696989;
  padding: 10px;
  width: 600px;
  height: 400px;
}
#parent > div {
  padding: 10px;
  border: 1px solid #696989;
}

Результат:

ตัวอย่าง

ใช้ฟังก์ชัน repeat เพื่อกำหนดขนาดของแถว:

html<div id="parent">
  <div>1</div>
  <div>2</div>
  <div>3</div>
</div>
css#parent {
  display: grid;
  grid-template-rows: repeat(3, 1fr);
  border: 2px solid #696989;
  padding: 10px;
  width: 600px;
  height: 200px;
}
#parent > div {
  padding: 10px;
  border: 1px solid #696989;
}

Результат:

ตัวอย่าง

กำหนดความสูง 50px ให้กับแถว และกำหนดจำนวนแถวโดยอัตโนมัติโดยใช้ค่า auto-fill:

html<div id="parent">
  <div>1</div>
  <div>2</div>
  <div>3</div>
  <div>4</div>
</div>
css#parent {
  display: grid;
  grid-template-rows: repeat(auto-fill, 50px);
  border: 2px solid #696989;
  padding: 10px;
  width: 400px;
  height: 200px;
}
#parent > div {
  padding: 10px;
  border: 1px solid #696989;
}

Результат:

แบบฝึกหัด

Задание 1

จัดวางบล็อกในสามแถว ปล่อยให้บล็อกแรกมีขนาด 100px ที่สอง 150px และที่สาม 200px

Задание 2

ให้ Grid ของคุณมีสามแถว จัดการให้พวกมันมีความกว้างเท่ากัน