⊗mkSpFxFTP 100 of 128 menu

ปัญหาการจัดเรียงแบบกริดด้วย Flexbox ใน CSS

ปัญหาที่หนึ่งของการจัดเรียงแบบกริดนั้นค่อนข้างชัดเจนตั้งแต่แรก - นั่นคือการที่ผู้ปกครอง (parent) ต้องกำหนดความสูงอย่างชัดเจนนั้นไม่สะดวกเลย เพราะอาจมีกรณีที่จำนวนบล็อกเปลี่ยนแปลงแบบไดนามิก จำนวนของบล็อกอาจน้อยกว่าหรือมากกว่า 9

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

<div class="parent"> <div class="child">1</div> <div class="child">2</div> <div class="child">3</div> <div class="child">4</div> <div class="child">5</div> <div class="child">6</div> <div class="child">7</div> <div class="child">8</div> </div> .parent { display: flex; flex-direction: row; justify-content: space-between; flex-wrap: wrap; width: 320px; border: 1px solid red; } .child { box-sizing: border-box; width: 100px; height: 100px; border: 1px solid green; }

:

ปรากฎว่าแม้แต่ในแนวนอน ค่า space-between ก็ทำงานได้ไม่ดีในกรณีของเรา

สรุป: หากจำนวนของเอลิเมนต์ลูก (descendants) ของคุณ คงที่เสมอและจัดเรียงในผู้ปกครองได้พอดี การจัดเรียงแบบกริดด้วย space-between ก็เป็นสิ่งที่ค่อนข้างสะดวก แต่ในกรณีอื่น ๆ คุณจะต้องหาวิธีอื่น

มี 12 เอลิเมนต์ ให้สร้างการจัดเรียงแบบกริด แถวละ 4 เอลิเมนต์ โดยแต่ละเอลิเมนต์กว้าง 100px และมีระยะห่างระหว่างเอลิเมนต์ 20px

มี 12 เอลิเมนต์ ให้สร้างการจัดเรียงแบบกริด แถวละ 3 เอลิเมนต์ โดยแต่ละเอลิเมนต์กว้าง 150px และมีระยะห่างระหว่างเอลิเมนต์ 10px

ไทย
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
เราใช้คุกกี้สำหรับการทำงานของเว็บไซต์ การวิเคราะห์ และการปรับเนื้อหาให้เหมาะสมส่วนบุคคล การประมวลผลข้อมูลเกิดขึ้นตาม นโยบายความเป็นส่วนตัว.
ยอมรับทั้งหมด ปรับแต่ง ปฏิเสธ