Bootstrap 5 Flex
- หน้าก่อน เครื่องมือประโยชน์ BS5
- หน้าต่อไป ฟอร์ม BS5
Flexbox
ความแตกต่างสำคัญระหว่าง Bootstrap 3 และ Bootstrap 4 & 5 คือ Bootstrap 5 ใช้ flexbox แทน floating ในการจัดการโครงสร้าง
โมดูลเครื่องหมายเลขแบบแฟล็กซ์ที่สามารถออกแบบโครงสร้างเครื่องหมายเลขที่เป็นตอบสนองได้ง่ายขึ้น โดยไม่จำเป็นต้องใช้ floating หรือ positioning
หากคุณไม่เคยเห็น flex ก่อน คุณสามารถเรียนรู้ได้ที่ การสอน CSS Flexbox เรียนรู้
หมายเหตุ:IE9 และเวอร์ชันต่อไปนั้นไม่สนับสนุน Flexbox
หมายเหตุ:หากคุณต้องการสนับสนุน IE8-9 ใช้ Bootstrap 3 ซึ่งเป็น Bootstrap ที่สถาบันที่สุด ทีมยังสนับสนุนการแก้ข้อผิดพลาดสำคัญและการเปลี่ยนแปลงเอกสาร แต่จะไม่เพิ่มให้มีความสามารถใหม่
ตัวอย่าง
เพื่อที่จะสร้างตัวแทน flexbox และแปลงโครงสร้างย่อยๆ ให้เป็น flex ใช้ d-flex
รูปแบบ:
<div class="d-flex p-3 bg-secondary text-white"> <div class="p-2 bg-info">โครงการยืดเยื้อ 1</div> <div class="p-2 bg-warning">โครงการยืดเยื้อ 2</div> <div class="p-2 bg-primary">โครงการยืดเยื้อ 3</div> </div>
ตัวอย่าง
เพื่อที่จะสร้างตัวแทน flexbox ในแถวเดียว ใช้ d-inline-flex
รูปแบบ:
<div class="d-inline-flex p-3 bg-secondary text-white"> <div class="p-2 bg-info">โครงการยืดเยื้อ 1</div> <div class="p-2 bg-warning">โครงการยืดเยื้อ 2</div> <div class="p-2 bg-primary">โครงการยืดเยื้อ 3</div> </div>
ทางแนวน้ำเสียของตัวเลข
โปรดใช้ .flex-row
แสดงเป้าหมายความยืดหยาคะแนนทางแนวน้ำเสียของตัวเลข (แบ่งย่อย) นี้เป็นการตั้งค่าโดยเริ่มต้น
คำเตือน:ใช้ .flex-row-reverse
สามารถจัดลำดับของเป้าหมายความยืดหยาคะแนนทางด้านขวาของแนวน้ำเสียของตัวเลขได้
ตัวอย่าง
<div class="d-flex flex-row bg-secondary"> <div class="p-2 bg-info">โครงการยืดเยื้อ 1</div> <div class="p-2 bg-warning">โครงการยืดเยื้อ 2</div> <div class="p-2 bg-primary">โครงการยืดเยื้อ 3</div> </div> <div class="d-flex flex-row-reverse bg-secondary"> <div class="p-2 bg-info">โครงการยืดเยื้อ 1</div> <div class="p-2 bg-warning">โครงการยืดเยื้อ 2</div> <div class="p-2 bg-primary">โครงการยืดเยื้อ 3</div> </div>
ทางตั้งแต่ด้านบนลง
โปรดใช้ .flex-column
แสดงเป้าหมายความยืดหยาคะแนนทางตั้งแต่ด้านบนลง (ซ้อนกัน) หรือใช้ .flex-column-reverse
คว่ำแบบทางตั้งแต่ด้านล่างขึ้น
ตัวอย่าง
<div class="d-flex flex-column"> <div class="p-2 bg-info">โครงการยืดเยื้อ 1</div> <div class="p-2 bg-warning">โครงการยืดเยื้อ 2</div> <div class="p-2 bg-primary">โครงการยืดเยื้อ 3</div> </div> <div class="d-flex flex-column-reverse"> <div class="p-2 bg-info">โครงการยืดเยื้อ 1</div> <div class="p-2 bg-warning">โครงการยืดเยื้อ 2</div> <div class="p-2 bg-primary">โครงการยืดเยื้อ 3</div> </div>
จัดตัวเนื้อหา
ใช้ .justify-content-*
รูปแบบหรือคลาสส์สามารถเปลี่ยนรูปแบบการจัดลำดับของเป้าหมายความยืดหยาคะแนนได้:
start
(โดยเริ่มต้น)end
center
between
around
ตัวอย่าง
<div class="d-flex justify-content-start">...</div> <div class="d-flex justify-content-end">...</div> <div class="d-flex justify-content-center">...</div> <div class="d-flex justify-content-between">...</div> <div class="d-flex justify-content-around">...</div>
ขนาดเท่ากัน
ใช้บนโครงการ flex .flex-fill
สามารถบังคับให้มีขนาดเท่ากัน
ตัวอย่าง
<div class="d-flex"> <div class="p-2 bg-info flex-fill">เป้าหมายของความยืดหยาคะแนน 1</div> <div class="p-2 bg-warning flex-fill">เป้าหมายของความยืดหยาคะแนน 2</div> <div class="p-2 bg-primary flex-fill">เป้าหมายของความยืดหยาคะแนน 3</div> </div>
ขยาย
ใช้บนโครงการ flex .flex-grow-1
สามารถใช้พื้นที่เกินได้
ตัวอย่าง
<div class="d-flex"> <div class="p-2 bg-info">โครงการยืดเยื้อ 1</div> <div class="p-2 bg-warning">โครงการยืดเยื้อ 2</div> <div class="p-2 bg-primary flex-grow-1">โครงการยืดเยื้อ 3</div> </div>
คำเตือน:ใช้บนโครงการ flex .flex-shrink-1
ควบคุมให้มันย่อตัวเมื่อมีความจำเป็น
ลำดับ
ใช้ .order
คลาสสามารถเปลี่ยนความจัดลำดับทาง視覚ของโครงการ flex แบบเฉพาะได้
ตัวอย่าง
<div class="d-flex bg-secondary"> <div class="p-2 bg-info order-3">โครงการยืดเยื้อ 1</div> <div class="p-2 bg-warning order-2">โครงการยืดเยื้อ 2</div> <div class="p-2 bg-primary order-1">โครงการยืดเยื้อ 3</div> </div>
ของด้านนอกอัตโนมัติ
ใช้ .ms-auto
หรือใช้ .me-auto
(ย้ายโครงการไปทางซ้าย)สามารถเพิ่มเมื่อเราต้องการของด้านนอกอัตโนมัติง่ายๆ ได้
ตัวอย่าง
<div class="d-flex bg-secondary"> <div class="p-2 ms-auto bg-info">โครงการยืดเยื้อ 1</div> <div class="p-2 bg-warning">โครงการยืดเยื้อ 2</div> <div class="p-2 bg-primary">โครงการยืดเยื้อ 3</div> </div> <div class="d-flex bg-secondary"> <div class="p-2 bg-info">โครงการยืดเยื้อ 1</div> <div class="p-2 bg-warning">โครงการยืดเยื้อ 2</div> <div class="p-2 me-auto bg-primary">โครงการยืดเยื้อ 3</div> </div>
ควบคุมการเปลี่ยนแปลงบรรทัด
ผ่าน .flex-nowrap
(เริ่มต้น)、.flex-wrap
หรือ .flex-wrap-reverse
ควบคุมวิธีที่โครงการ flex จะหุ้มเนื่องในตัวแทน flex ของเรา。
ตัวอย่าง
<div class="d-flex flex-wrap">..</div> <div class="d-flex flex-wrap-reverse">..</div> <div class="d-flex flex-nowrap">..</div>
จัดตัวเนื้อหา
โปรดใช้ .align-content-*
ควบคุมการจัดตัวตรงของโครงการความยืดเยื้อตั้งแต่กลาง
.align-content-start
(โดยเริ่มต้น).align-content-end
.align-content-center
.align-content-between
.align-content-around
.align-content-stretch
หมายเหตุ:รูปแบบเหล่านี้ไม่มีผลต่อชนิดที่มีความยืดหยุ่นเส้นทางเดียว
โปรดกดปุ่มด้านล่างเพื่อดูความแตกต่างระหว่างห้ารูปแบบโดยเปลี่ยนการจัดลำดับตัวอักษรตั้งฝั่งของชนิดที่มีความยืดหยุ่นในตัวอย่าง
ตัวอย่าง
<div class="d-flex flex-wrap align-content-start">..</div> <div class="d-flex flex-wrap align-content-end">..</div> <div class="d-flex flex-wrap align-content-center">..</div> <div class="d-flex flex-wrap align-content-around">..</div> <div class="d-flex flex-wrap align-content-stretch">..</div>
จัดตัวองค์ประกอบ
โปรดใช้ .align-items-*
การควบคุมรูปแบบเส้นทางเดียวการจัดลำดับตัวอักษรตั้งฝั่งสำหรับชนิดที่มีความยืดหยุ่น
.align-items-start
.align-items-end
.align-items-center
.align-items-baseline
.align-items-stretch
(โดยเริ่มต้น)
โปรดกดปุ่มด้านล่างเพื่อดูความแตกต่างระหว่างห้ารูปแบบ
ตัวอย่าง
<div class="d-flex align-items-start">..</div> <div class="d-flex align-items-end">..</div> <div class="d-flex align-items-center">..</div> <div class="d-flex align-items-baseline">..</div> <div class="d-flex align-items-stretch">..</div>
การจัดลำดับตัวอักษรตั้งตัวเอง
โปรดใช้ .align-self-*
การควบคุมรูปแบบกำหนดชนิดที่มีความยืดหยุ่นการจัดลำดับตัวอักษรตั้งฝั่ง
.align-self-start
.align-self-end
.align-self-center
.align-self-baseline
.align-self-stretch
(โดยเริ่มต้น)
คลิกที่ปุ่มด้านล่างเพื่อดูความแตกต่างระหว่างห้าคลาส...
ตัวอย่าง
<div class="d-flex bg-light" style="height:150px"> <div class="p-2 border">รายการ flex 1</div> <div class="p-2 border align-self-start">รายการ flex 2</div> <div class="p-2 border">รายการ flex 3</div> </div>
ประเภท flex ตอบสนอง
ทุกประเภท flex มีคลาสตอบสนองเพิ่มเติม ทำให้ง่ายต่อการตั้งค่า flex ในขนาดหน้าจอเฉพาะ
* สามารถแทนด้วย sm, md, lg, xl หรือ xxl ตามลำดับ ซึ่งแสดงถึงหน้าจอขนาดเล็ก, ขนาดปานกลาง, ขนาดใหญ่, ขนาดใหญ่มาก และ ขนาดใหญ่ยิ่ง
ค้นหาประเภท flex ที่เฉพาะ...
ประเภท | รายละเอียด | ตัวอย่าง |
---|---|---|
กล่องยืดเยื้อง flex | ||
.d-*-flex |
สร้างกล่องยืดเยื้อง flexbox ในหน้าจอต่าง ๆ | ทดลอง |
.d-*-inline-flex |
สร้างกล่องยืดเยื้อง flexbox ในแถวภายในหน้าจอต่าง ๆ | ทดลอง |
ทิศทาง | ||
.flex-*-row |
แสดงรายการที่มี flex ตามทิศตะวันออก-ตะวันตก ในหน้าจอต่าง ๆ | ทดลอง |
.flex-*-row-reverse |
แสดงรายการที่มี flex ตามทิศตะวันออก-ตะวันตก และซ้ายตัด ในหน้าจอต่าง ๆ | ทดลอง |
.flex-*-column |
แสดงรายการที่มี flex ตามทิศตะวันออก-ตะวันตก ในหน้าจอต่าง ๆ | ทดลอง |
.flex-*-column-reverse |
แสดงรายการที่มี flex ในลำดับตรงข้ามกันตามทิศตะวันออก-ตะวันตก ในหน้าจอต่าง ๆ | ทดลอง |
เนื้อหาที่มีการจัดเรียงแบบฝั่ง | ||
.justify-content-*-start |
แสดงรายการที่มี flex ในหน้าจอต่าง ๆ จากเริ่มต้น (ซ้ายตัด) | ทดลอง |
.justify-content-*-end |
แสดงรายการที่มี flex ในท้ายของหน้าจอต่าง ๆ (ซ้ายตัด) | ทดลอง |
.justify-content-*-center |
แสดงรายการที่มี flex ในกล่องยืดเยื้องของหน้าจอต่าง ๆ ในกลาง | ทดลอง |
.justify-content-*-between |
แสดงรายการที่มี flex ต่าง ๆ ในหน้าจอต่าง ๆ โดยเท่ากัน | ทดลอง |
.justify-content-*-around |
แสดงรายการที่มี flex รอบ ๆ ในหน้าจอต่าง ๆ | ทดลอง |
Fill / ความกว้างเท่ากัน | ||
.flex-*-fill |
บังคับให้รายการที่มี flex ในหน้าจอต่าง ๆ มีความกว้างเท่ากัน | ทดลอง |
ขยาย | ||
.flex-*-grow-0 |
ไม่ให้รายการขยายในหน้าจอต่าง ๆ | |
.flex-*-grow-1 |
ทำให้รายการขยายในหน้าจอต่าง ๆ | |
ขยาย | ||
.flex-*-shrink-0 |
ไม่ให้องค์ประกอบขยายในหน้าจอต่างๆ | |
.flex-*-shrink-1 |
ทำให้องค์ประกอบขยายในหน้าจอต่างๆ | |
ลำดับ | ||
.order-*-0-12 |
เปลี่ยนลำดับในหน้าจอเล็กจาก 0 ถึง 12 | ทดลอง |
ควบคุมการเปลี่ยนแปลงบรรทัด | ||
.flex-*-nowrap |
ไม่ควรควบคุมการเปลี่ยนแปลงบรรทัดขององค์ประกอบในหน้าจอต่างๆ | ทดลอง |
.flex-*-wrap |
ควบคุมการเปลี่ยนแปลงบรรทัดขององค์ประกอบในหน้าจอต่างๆ | ทดลอง |
.flex-*-wrap-reverse |
ควบคุมการเปลี่ยนแปลงบรรทัดขององค์ประกอบในหน้าจอต่างๆ | ทดลอง |
จัดตัวเนื้อหา | ||
.align-content-*-start |
จัดตัวองค์ประกอบตามต้นหน้าจอต่างๆ | ทดลอง |
.align-content-*-end |
จัดตัวองค์ประกอบตามท้ายหน้าจอต่างๆ | ทดลอง |
.align-content-*-center |
จัดตัวองค์ประกอบตามกลางหน้าจอต่างๆ | ทดลอง |
.align-content-*-around |
จัดตัวองค์ประกอบตามพื้นที่รอบๆ หน้าจอต่างๆ | ทดลอง |
.align-content-*-stretch |
ขยายองค์ประกอบในหน้าจอต่างๆ | ทดลอง |
จัดตัวองค์ประกอบ | ||
.align-items-*-start |
จัดตัวองค์ประกอบยอดเครื่องมือตามต้นหน้าจอต่างๆ | ทดลอง |
.align-items-*-end |
จัดตัวองค์ประกอบยอดเครื่องมือตามท้ายหน้าจอต่างๆ | ทดลอง |
.align-items-*-center |
จัดตัวองค์ประกอบยอดเครื่องมือตามกลางหน้าจอต่างๆ | ทดลอง |
.align-items-*-baseline |
จัดตัวองค์ประกอบยอดเครื่องมือตามฐานหน้าจอต่างๆ | ทดลอง |
.align-items-*-stretch |
ขยายองค์ประกอบยอดเครื่องมือแบบเดียวที่ในหน้าจอต่างๆ | ทดลอง |
จัดตัวตัวเอง | ||
.align-self-*-start |
จัดตัวองค์ประกอบยอดเครื่องมือตามต้นหน้าจอต่างๆ | ทดลอง |
.align-self-*-end |
จัดตัวองค์ประกอบยอดเครื่องมือตามท้ายหน้าจอต่างๆ | ทดลอง |
.align-self-*-center |
จัดตัวองค์ประกอบยอดเครื่องมือตามกลางหน้าจอต่างๆ | ทดลอง |
.align-self-*-baseline |
จัดตัวองค์ประกอบยอดเครื่องมือตามฐานหน้าจอต่างๆ | ทดลอง |
.align-self-*-stretch |
ขยายองค์ประกอบยอดเครื่องมือในหน้าจอต่างๆ | ทดลอง |
- หน้าก่อน เครื่องมือประโยชน์ BS5
- หน้าต่อไป ฟอร์ม BS5