ภาพรวม
ส่วนประกอบและตัวเลือกสำหรับการจัดวางโปรเจ็กต์ Bootstrap ของคุณ รวมทั้งการห่อคอนเทนเนอร์ ระบบกริดอันทรงพลัง ออบเจ็กต์สื่อที่ยืดหยุ่น และคลาสยูทิลิตี้ที่ตอบสนอง
ตู้คอนเทนเนอร์
คอนเทนเนอร์เป็นองค์ประกอบเลย์เอาต์พื้นฐานที่สุดใน Bootstrap และจำเป็นเมื่อใช้ระบบกริดเริ่มต้นของเรา คอนเทนเนอร์ใช้เพื่อบรรจุ รอง และ (บางครั้ง) จัดกึ่งกลางเนื้อหาภายในคอนเทนเนอร์ แม้ว่าคอนเทนเนอร์จะซ้อนกันได้ แต่เลย์เอาต์ส่วนใหญ่ไม่ต้องการคอนเทนเนอร์ที่ซ้อนกัน
Bootstrap มาพร้อมกับคอนเทนเนอร์สามแบบ:
.container
ซึ่งตั้งค่า amax-width
ที่จุดพักตอบสนองแต่ละจุด.container-fluid
ซึ่งเป็นwidth: 100%
จุดพักทั้งหมด.container-{breakpoint}
ซึ่งwidth: 100%
จนถึงจุดพักที่กำหนด
ตารางด้านล่างแสดงให้เห็นว่าคอนเทนเนอร์แต่ละคอนเทนเนอร์max-width
เปรียบเทียบกับของจริง อย่างไร .container
และ.container-fluid
ในแต่ละเบรกพอยต์
ดูการใช้งานจริงและเปรียบเทียบในตัวอย่างกริดของ เรา
เล็กพิเศษ <576px |
เล็ก ≥576px |
กลาง ≥768px |
ใหญ่ ≥992px |
ขนาดใหญ่พิเศษ ≥1200px |
|
---|---|---|---|---|---|
.container |
100% | 540px | 720px | 960px | 1140px |
.container-sm |
100% | 540px | 720px | 960px | 1140px |
.container-md |
100% | 100% | 720px | 960px | 1140px |
.container-lg |
100% | 100% | 100% | 960px | 1140px |
.container-xl |
100% | 100% | 100% | 100% | 1140px |
.container-fluid |
100% | 100% | 100% | 100% | 100% |
ทั้งหมดในอย่างเดียว
คลาส เริ่มต้นของเรา.container
คือคอนเทนเนอร์แบบตอบสนองและมีความกว้างคงที่ ซึ่งหมายถึงการmax-width
เปลี่ยนแปลงที่จุดพักแต่ละจุด
ของเหลว
ใช้.container-fluid
สำหรับคอนเทนเนอร์เต็มความกว้าง ขยายความกว้างทั้งหมดของวิวพอร์ต
ตอบสนอง
คอนเทนเนอร์ที่ตอบสนองเป็นสิ่งใหม่ใน Bootstrap v4.4 อนุญาตให้คุณระบุคลาสที่มีความกว้าง 100% จนกว่าจะถึงเบรกพอยต์ที่ระบุ หลังจากนั้นเราจะใช้max-width
s กับเบรกพอยต์ที่สูงกว่าแต่ละจุด ตัวอย่างเช่น.container-sm
มีความกว้าง 100% เพื่อเริ่มต้นจนกว่าจะถึงsm
จุดเบรกพอยต์ ซึ่งจะขยายขนาดด้วย, md
, lg
และxl
เบรกพอยต์ที่ตอบสนอง
เนื่องจาก Bootstrap ได้รับการพัฒนาให้เป็นมือถือก่อน เราจึงใช้การสืบค้นสื่อ จำนวนหนึ่ง เพื่อสร้างจุดสั่งหยุดที่สมเหตุสมผลสำหรับเลย์เอาต์และอินเทอร์เฟซของเรา เบรกพอยต์เหล่านี้ส่วนใหญ่อิงตามความกว้างของวิวพอร์ตขั้นต่ำ และทำให้เราสามารถขยายขนาดองค์ประกอบเมื่อวิวพอร์ตเปลี่ยนไป
Bootstrap ใช้ช่วงการสืบค้นสื่อหรือเบรกพอยต์ต่อไปนี้เป็นหลักในไฟล์ Sass ต้นทางของเราสำหรับเลย์เอาต์ ระบบกริด และส่วนประกอบของเรา
เนื่องจากเราเขียนซอร์สโค้ด CSS ใน Sass การสืบค้นสื่อทั้งหมดของเราจึงพร้อมใช้งานผ่าน Sass mixins:
บางครั้งเราใช้การสืบค้นสื่อที่ไปในทิศทางอื่น (ขนาดหน้าจอที่กำหนดหรือเล็กกว่า ):
โปรดทราบว่าเนื่องจากเบราว์เซอร์ไม่สนับสนุนการสืบค้นบริบทแบบช่วงเราจึงหลีกเลี่ยงข้อจำกัดmin-
และmax-
คำนำหน้าและวิวพอร์ตที่มีความกว้างแบบเศษส่วน (ซึ่งสามารถเกิดขึ้นได้ภายใต้เงื่อนไขบางประการในอุปกรณ์ที่มีความละเอียดสูง เป็นต้น) โดยใช้ค่าที่มีความแม่นยำสูงกว่าสำหรับการเปรียบเทียบเหล่านี้ .
อีกครั้ง แบบสอบถามสื่อเหล่านี้ยังมีให้ผ่านมิกซ์อิน Sass:
นอกจากนี้ยังมีคิวรีสื่อและมิกซ์อินสำหรับการกำหนดเป้าหมายกลุ่มขนาดหน้าจอเดียวโดยใช้ความกว้างของเบรกพอยต์ต่ำสุดและสูงสุด
แบบสอบถามสื่อเหล่านี้ยังมีให้ผ่านทางมิกซ์อิน Sass:
ในทำนองเดียวกัน คิวรีสื่ออาจขยายความกว้างของเบรกพอยต์ได้หลายแบบ:
มิกซ์อิน Sass สำหรับการกำหนดเป้าหมายช่วงขนาดหน้าจอเดียวกันจะเป็น:
ดัชนี Z
คอมโพเนนต์ Bootstrap หลายตัวใช้z-index
คุณสมบัติ CSS ที่ช่วยควบคุมเลย์เอาต์โดยจัดเตรียมแกนที่สามเพื่อจัดเรียงเนื้อหา เราใช้มาตราส่วนดัชนี z เริ่มต้นใน Bootstrap ที่ได้รับการออกแบบมาเพื่อเลเยอร์การนำทาง คำแนะนำเครื่องมือและป๊อปโอเวอร์ โมดอล และอื่นๆ อย่างเหมาะสม
These higher values start at an arbitrary number, high and specific enough to ideally avoid conflicts. We need a standard set of these across our layered components—tooltips, popovers, navbars, dropdowns, modals—so we can be reasonably consistent in the behaviors. There’s no reason we couldn’t have used 100
+ or 500
+.
We don’t encourage customization of these individual values; should you change one, you likely need to change them all.
To handle overlapping borders within components (e.g., buttons and inputs in input groups), we use low single digit z-index
values of 1
, 2
, and 3
for default, hover, and active states. On hover/focus/active, we bring a particular element to the forefront with a higher z-index
value to show their border over the sibling elements.