215 of 313 menu

คุณสมบัติ grid-template-rows

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

เมื่อระบุค่าในหน่วยพิกเซลในคุณสมบัติ ขนาดของแถวจะตรงตามค่านั้นอย่างแม่นยำ ถ้าเรากำหนดคำว่า auto แถวจะ เติมพื้นที่ว่างทั้งหมดที่มีอยู่ การใช้ หน่วย fr (เศษส่วน) หมายความว่า พื้นที่ทั้งหมดจะถูกแบ่งออก เป็นส่วนเท่าๆกัน ข้อได้เปรียบของ fr คือการปรับตัวให้เข้ากับ คอนเทนเนอร์หรือความละเอียดหน้าจอที่ต่างกัน เนื่องจาก fr แค่แบ่งพื้นที่ออกเป็นจำนวน เศษส่วนที่ระบุไว้โดยไม่ผูกติดกับขนาดที่แน่นอนในหน่วยพิกเซล

ไวยากรณ์

ตัวเลือก { grid-template-rows: ความกว้างแถว; }

ตัวอย่าง

มาลองกำหนดความกว้างของแถวสำหรับ องค์ประกอบต่างๆในกริดของเรากัน:

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

:

ตัวอย่าง

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

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

:

ตัวอย่าง

คราวนี้ใช้คุณสมบัติ grid-template-rows ทำให้แถวแรกและแถวที่สอง ใช้พื้นที่หนึ่งส่วนของคอนเทนเนอร์ และแถวที่สามใช้สามส่วน:

<div id="parent"> <div>1</div> <div>2</div> <div>3</div> </div> #parent { display: grid; grid-template-rows: 1fr 1fr 3fr; border: 2px solid #696989; padding: 10px; width: 400px; height: 200px; } #parent > div { padding: 10px; border: 1px solid #696989; }

:

ตัวอย่าง

ค่าที่ระบุในหน่วย fr สามารถอยู่ในรูปทศนิยมได้ ลอง เปลี่ยนตัวอย่างก่อนหน้านี้ โดยกำหนด ความกว้างสำหรับแถวที่สองและแถวที่สาม เป็นเลขทศนิยม:

<div id="parent"> <div>1</div> <div>2</div> <div>3</div> </div> #parent { display: grid; grid-template-rows: 1fr 0.5fr 2.5fr; border: 2px solid #696989; padding: 10px; width: 400px; height: 200px; } #parent > div { padding: 10px; border: 1px solid #696989; }

:

ตัวอย่าง

ลองระบุฟังก์ชัน repeat() ในคุณสมบัติ grid-template-rows ซึ่งจะบอกคอนเทนเนอร์ว่าแถวทั้งสาม ควรมีความกว้างเท่ากัน:

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

:

ตัวอย่าง

คราวนี้มาเปลี่ยนตัวอย่างก่อนหน้า โดยเพิ่มแถวที่สี่ซึ่งจะใช้พื้นที่สอง เศษส่วนของคอนเทนเนอร์:

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

:

ตัวอย่าง

ลองกำหนดให้แถวสองแถวแรกมีความกว้างหนึ่งเศษส่วน ของคอนเทนเนอร์ และสองแถวสุดท้ายมีความกว้างสองเศษส่วน:

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

:

ตัวอย่าง

คราวนี้ลองตั้งค่าความกว้างของแถว โดยผสมค่าที่ระบุด้วย ฟังก์ชัน repeat() และหน่วย fr อิสระ:

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

:

ตัวอย่าง

นอกจากนี้ในฟังก์ชัน repeat() ยังสามารถระบุ ค่า auto-fill ซึ่งจะเติม คอนเทนเนอร์ของเราด้วยแถวที่เหมือนกันตามความกว้างที่เราต้องการ:

<div id="parent"> <div>1</div> <div>2</div> <div>3</div> <div>4</div> </div> #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; }

:

ตัวอย่าง

สะดวกมากถ้าใช้ auto-fill ร่วมกับ ฟังก์ชัน minmax ซึ่งกำหนดช่วงความกว้างของแถว ตั้งแต่ค่าต่ำสุดถึงค่าสูงสุด หากความกว้างของคอนเทนเนอร์ไม่สามารถบรรจุ แถวทั้งหมดได้ บางแถวจะถูกย้าย ไปยังบรรทัดใหม่ โดยที่แถวในบรรทัดนั้น จะกระจายตัวอย่างสม่ำเสมอ ลองเปลี่ยน ตัวอย่างก่อนหน้า โดยระบุฟังก์ชัน minmax ลงไป:

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

:

ตัวอย่าง

คราวนี้ลองระบุคุณสมบัติ auto-fit ซึ่งแตกต่างจาก auto-fill ตรงที่ มันจะปรับจำนวนแถวให้เหมาะสมกับ ความกว้างของคอนเทนเนอร์ที่มีอยู่ โดยขยายหรือ ย่อแถว:

<div id="parent"> <div>1</div> <div>2</div> <div>3</div> <div>4</div> </div> #parent { display: grid; grid-template-rows: repeat(auto-fit, minmax(100px, 1fr)); border: 2px solid #696989; padding: 10px; } #parent > div { padding: 10px; border: 1px solid #696989; }

:

ตัวอย่าง

นอกจาก fr แล้วยังสามารถ ใช้ค่าในหน่วย % ซึ่งกำหนดเช่นกันว่า แถวจะใช้พื้นที่ส่วนใดของคอนเทนเนอร์ โดยจะคำนวณขนาด แถวในหน่วย % ก่อน จากนั้นพื้นที่ว่างที่เหลือ จะถูกแบ่งออกเป็นเศษส่วน:

<div id="parent"> <div>1</div> <div>2</div> <div>3</div> <div>4</div> </div> #parent { display: grid; grid-template-rows: 50% 1fr 2fr 30%; border: 2px solid #696989; padding: 10px; width: 400px; height: 400px; } #parent > div { padding: 10px; border: 1px solid #696989; }

:

ตัวอย่าง

ลองใช้คุณสมบัติ grid-template-columns และ grid-template-rows ร่วมกัน:

<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> #parent { display: grid; grid-template-rows: 1fr 1fr 1fr; grid-template-columns: 1fr 1fr 1fr; border: 2px solid #696989; padding: 10px; width: 400px; height: 400px; } #parent > div { padding: 10px; border: 1px solid #696989; }

:

ตัวอย่าง

ลองใช้คุณสมบัติ grid-template-columns และ grid-template-rows สร้างตารางจากเก้าช่องเซลล์ จัดวาง เป็นสามแถว โดยที่แถวที่สองและแถวที่สามมีความกว้างเท่ากัน และแต่ละคอลัมน์มีความกว้างต่างกัน:

<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> #parent { display: grid; grid-template-rows: 60px 1fr 60px; grid-template-columns: 20% 1fr 15%; border: 2px solid #696989; padding: 10px; width: 400px; height: 400px; } #parent > div { padding: 10px; border: 1px solid #696989; }

:

ตัวอย่าง

คราวนี้ในตารางจากตัวอย่างก่อนหน้า ทำให้แถวบนสุดมีความกว้างสองเศษส่วน และคอลัมน์แรกมีความกว้างครึ่งเศษส่วน:

<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> #parent { display: grid; grid-template-rows: 2fr 1fr 1fr; grid-template-columns: 0.5fr 1fr 1fr; border: 2px solid #696989; padding: 10px; width: 400px; height: 400px; } #parent > div { padding: 10px; border: 1px solid #696989; }

:

ดูเพิ่มเติม

  • คุณสมบัติ grid-template-columns,
    ซึ่งกำหนดจำนวนและความกว้างของคอลัมน์ในกริด
  • คุณสมบัติ grid-auto-rows,
    ซึ่งกำหนดจำนวนและความกว้างของแถวในกริดโดยนัย
ไทย
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣTürkmenTürkçeЎзбекOʻzbekTiếng Việt
เราใช้คุกกี้สำหรับการทำงานของเว็บไซต์ การวิเคราะห์ และการปรับเนื้อหาให้เหมาะสมส่วนบุคคล การประมวลผลข้อมูลเกิดขึ้นตาม นโยบายความเป็นส่วนตัว.
ยอมรับทั้งหมด ปรับแต่ง ปฏิเสธ