Bootstrap สร้างขึ้นบนกริด 12 คอลัมน์ที่ตอบสนอง เรายังได้รวมเลย์เอาต์ความกว้างคงที่และแบบไหลตามระบบนั้นด้วย
Bootstrap ใช้ประโยชน์จากองค์ประกอบ HTML และคุณสมบัติ CSS ที่ต้องใช้ประเภทเอกสาร HTML5 อย่าลืมรวมไว้ที่จุดเริ่มต้นของทุกหน้า Bootstrapped ในโครงการของคุณ
- <!DOCTYPE html>
- <html lang = "en" >
- ...
- </html>
ภายใน ไฟล์ scaffolding.lessเราตั้งค่าการแสดงผลสากล การพิมพ์ และรูปแบบลิงก์ โดยเฉพาะอย่างยิ่ง เรา:
background-color: white;
อยู่บนbody
@baseFontFamily
, @baseFontSize
, และ@baseLineHeight
คุณลักษณะเป็นฐานการพิมพ์ของเรา@linkColor
และใช้ลิงค์ที่ขีดเส้นใต้เท่านั้นบน:hover
ใน Bootstrap 2 การรีเซ็ต CSS แบบดั้งเดิมได้พัฒนาขึ้นเพื่อใช้ประโยชน์จากองค์ประกอบจากNormalize.cssซึ่งเป็นโครงการโดยNicolas Gallagherที่ขับเคลื่อนHTML5 Boilerplateด้วย
การรีเซ็ตใหม่ยังสามารถพบได้ในreset.lessแต่ด้วยองค์ประกอบหลายอย่างที่ถูกลบออกเพื่อความกระชับและความแม่นยำ
ระบบกริดเริ่มต้นที่มีให้ใน Bootstrap ใช้12 คอลัมน์ที่แสดงความกว้าง 724px, 940px (ค่าเริ่มต้นไม่รวม CSS ที่ตอบสนอง) และ 1170px ด้านล่างของวิวพอร์ต 767px คอลัมน์จะกลายเป็นแบบไหลและซ้อนกันในแนวตั้ง
- < คลาสdiv = "แถว" >
- <div class = "span4" > ... </div>
- <div class = "span8" > ... </div>
- </div>
ดังที่แสดงไว้ที่นี่ เค้าโครงพื้นฐานสามารถสร้างขึ้นได้ด้วย "คอลัมน์" สองคอลัมน์ โดยแต่ละคอลัมน์ครอบคลุมจำนวน 12 คอลัมน์พื้นฐานที่เรากำหนดให้เป็นส่วนหนึ่งของระบบกริดของเรา
- < คลาสdiv = "แถว" >
- <div class = "span4" > ... </div>
- <div class = "span4 offset4" > ... </div>
- </div>
ด้วยระบบกริดแบบคงที่ (ที่ไม่ใช่ของไหล) ใน Bootstrap การซ้อนทำได้ง่าย ในการซ้อนเนื้อหาของคุณ เพียงเพิ่มคอลัมน์ใหม่.row
และชุดของ.span*
คอลัมน์ภายในคอลัมน์ที่มี.span*
อยู่
แถวที่ซ้อนกันควรมีชุดของคอลัมน์ที่รวมกันเป็นจำนวนคอลัมน์ของพาเรนต์ ตัวอย่างเช่น.span3
ควรวางคอลัมน์ที่ซ้อนกันสองคอลัมน์ภายในไฟล์.span6
.
- < คลาสdiv = "แถว" >
- < คลาสdiv = "span6" >
- คอลัมน์ระดับ 1
- < คลาสdiv = "แถว" >
- <div class = "span3" > ระดับ 2 </div>
- <div class = "span3" > ระดับ 2 </div>
- </div>
- </div>
- </div>
ระบบกริดของไหลใช้เปอร์เซ็นต์สำหรับความกว้างของคอลัมน์แทนพิกเซลคงที่ นอกจากนี้ยังมีรูปแบบการตอบสนองที่เหมือนกันกับระบบกริดแบบตายตัวของเรา ซึ่งรับประกันสัดส่วนที่เหมาะสมสำหรับความละเอียดและอุปกรณ์ของหน้าจอหลัก
สร้างของเหลวแถวใดๆ ได้ง่ายๆ โดยเปลี่ยน.row
เป็น.row-fluid
. คอลัมน์ยังคงเหมือนเดิม ทำให้ง่ายต่อการพลิกระหว่างเค้าโครงแบบคงที่และแบบไหล
- <div class = "row-fluid" >
- <div class = "span4" > ... </div>
- <div class = "span8" > ... </div>
- </div>
การทำรังด้วยกริดแบบไหลแตกต่างกันเล็กน้อย: จำนวนคอลัมน์ที่ซ้อนกันไม่จำเป็นต้องตรงกับพาเรนต์ แต่คอลัมน์ของคุณจะถูกรีเซ็ตในแต่ละระดับเพราะแต่ละแถวใช้พื้นที่ 100% ของคอลัมน์หลัก
- <div class = "row-fluid" >
- < คลาสdiv = "span12" >
- ระดับ 1 ของคอลัมน์
- <div class = "row-fluid" >
- <div class = "span6" > ระดับ 2 </div>
- <div class = "span6" > ระดับ 2 </div>
- </div>
- </div>
- </div>
ตัวแปร | ค่าเริ่มต้น | คำอธิบาย |
---|---|---|
@gridColumns |
12 | จำนวนคอลัมน์ |
@gridColumnWidth |
60px | ความกว้างของแต่ละคอลัมน์ |
@gridGutterWidth |
20px | ช่องว่างเชิงลบระหว่างคอลัมน์ |
สร้างขึ้นใน Bootstrap เป็นตัวแปรจำนวนหนึ่งสำหรับปรับแต่งระบบกริดเริ่มต้น 940px ที่บันทึกไว้ด้านบน ตัวแปรทั้งหมดสำหรับกริดถูกเก็บไว้ใน variable.less
การปรับเปลี่ยนกริดหมายถึงการเปลี่ยน@grid*
ตัวแปรสามตัวและการคอมไพล์ Bootstrap เปลี่ยนตัวแปรกริดใน variables.less และใช้หนึ่งในสี่วิธีที่จัดทำเป็นเอกสารเพื่อคอมไพล์ใหม่ หากคุณกำลังเพิ่มคอลัมน์เพิ่มเติม อย่าลืมเพิ่ม CSS สำหรับคอลัมน์ใน grid.less
การปรับแต่งกริดจะทำงานที่ระดับเริ่มต้นเท่านั้น นั่นคือกริด 940px เพื่อรักษาลักษณะการตอบสนองของ Bootstrap คุณจะต้องปรับแต่งกริดในแบบตอบสนอง.less
เลย์เอาต์กึ่งกลางกว้าง 940px ที่เป็นค่าเริ่มต้นและเรียบง่ายสำหรับเว็บไซต์หรือหน้าเว็บใดๆ ที่จัดทำโดยไฟล์<div class="container">
.
- <body>
- < คลาสdiv = "คอนเทนเนอร์" >
- ...
- </div>
- </body>
<div class="container-fluid">
ให้โครงสร้างหน้าที่ยืดหยุ่น ความกว้างต่ำสุดและสูงสุด และแถบด้านข้างด้านซ้าย เหมาะอย่างยิ่งสำหรับแอปและเอกสาร
- <div class = "container-fluid" >
- <div class = "row-fluid" >
- < คลาสdiv = "span2" >
- <!--เนื้อหาแถบด้านข้าง-->
- </div>
- < คลาสdiv = "span10" >
- <!--เนื้อหาเนื้อหา-->
- </div>
- </div>
- </div>
คิวรี่สื่ออนุญาตให้ใช้ CSS ที่กำหนดเองตามเงื่อนไขหลายประการ เช่น อัตราส่วน ความกว้าง ประเภทการแสดงผล ฯลฯ—แต่มักจะเน้นไปรอบๆmin-width
และmax-width
ใช้การสืบค้นสื่ออย่างมีความรับผิดชอบและเป็นจุดเริ่มต้นสำหรับผู้ชมบนมือถือของคุณเท่านั้น สำหรับโปรเจ็กต์ขนาดใหญ่ ให้พิจารณาฐานโค้ดเฉพาะ ไม่ใช่เลเยอร์ของคิวรีสื่อ
Bootstrap รองรับการสืบค้นสื่อจำนวนหนึ่งในไฟล์เดียว เพื่อช่วยให้โครงการของคุณเหมาะสมยิ่งขึ้นบนอุปกรณ์และความละเอียดหน้าจอที่แตกต่างกัน นี่คือสิ่งที่รวมอยู่ด้วย:
ฉลาก | ความกว้างของเค้าโครง | ความกว้างของคอลัมน์ | ความกว้างของรางน้ำ |
---|---|---|---|
สมาร์ทโฟน | 480px และต่ำกว่า | คอลัมน์ของเหลวไม่มีความกว้างคงที่ | |
สมาร์ทโฟนสู่แท็บเล็ต | 767px และต่ำกว่า | คอลัมน์ของเหลวไม่มีความกว้างคงที่ | |
แท็บเล็ตแนวตั้ง | 768px ขึ้นไป | 42px | 20px |
ค่าเริ่มต้น | 980px ขึ้นไป | 60px | 20px |
จอแสดงผลขนาดใหญ่ | 1200px ขึ้นไป | 70px | 30px |
เพื่อให้แน่ใจว่าอุปกรณ์แสดงหน้าที่ตอบสนองอย่างเหมาะสม ให้ใส่เมตาแท็กของวิวพอร์ต
- < ชื่อ เมตา = เนื้อหา"วิวพอร์ต" = "ความกว้าง=ความกว้างของอุปกรณ์ มาตราส่วนเริ่มต้น=1.0" >
Bootstrap ไม่ได้รวมการสืบค้นสื่อเหล่านี้โดยอัตโนมัติ แต่การทำความเข้าใจและการเพิ่มนั้นทำได้ง่ายมาก และต้องมีการตั้งค่าเพียงเล็กน้อย คุณมีตัวเลือกสองสามอย่างในการรวมคุณสมบัติตอบสนองของ Bootstrap:
ทำไมไม่เพียงแค่รวมมัน? พูดตามตรงไม่ใช่ทุกอย่างต้องตอบสนอง แทนที่จะสนับสนุนให้นักพัฒนานำคุณลักษณะนี้ออก เราคิดว่าควรเปิดใช้งานคุณลักษณะนี้ดีที่สุด
- /* โทรศัพท์แนวนอนและลง */
- @media ( ความกว้างสูงสุด: 480px ) { ... }
- /* โทรศัพท์แนวนอนเป็นแท็บเล็ตแนวตั้ง */
- @media ( ความกว้างสูงสุด: 767px ) { ... }
- /* แท็บเล็ตแนวตั้งเป็นแนวนอนและเดสก์ท็อป */
- @media ( ความกว้างต่ำสุด: 768px ) และ( ความกว้างสูงสุด: 979px ) { ... }
- /* เดสก์ท็อปขนาดใหญ่ */
- @media ( ความกว้างต่ำสุด: 1200px ) { ... }
เพื่อการพัฒนาที่เป็นมิตรกับมือถือที่รวดเร็วขึ้น ให้ใช้คลาสยูทิลิตี้พื้นฐานเหล่านี้เพื่อแสดงและซ่อนเนื้อหาตามอุปกรณ์
ใช้บนพื้นฐานที่จำกัดและหลีกเลี่ยงการสร้างไซต์เดียวกันในเวอร์ชันที่ต่างกันโดยสิ้นเชิง ให้ใช้สิ่งเหล่านี้เพื่อเสริมการนำเสนอของอุปกรณ์แต่ละเครื่องแทน
ตัวอย่างเช่น คุณอาจแสดง<select>
องค์ประกอบสำหรับการนำทางบนเลย์เอาต์มือถือ แต่ไม่แสดงบนแท็บเล็ตหรือเดสก์ท็อป
แสดงตารางคลาสที่เราสนับสนุนและผลกระทบต่อเค้าโครงคิวรีสื่อที่กำหนด (ติดป้ายกำกับโดยอุปกรณ์) สามารถพบได้responsive.less
ใน
ระดับ | โทรศัพท์480px และต่ำกว่า | แท็บเล็ต767px และต่ำกว่า | เดสก์ท็อป768px ขึ้นไป |
---|---|---|---|
.visible-phone |
มองเห็นได้ | ที่ซ่อนอยู่ | ที่ซ่อนอยู่ |
.visible-tablet |
ที่ซ่อนอยู่ | มองเห็นได้ | ที่ซ่อนอยู่ |
.visible-desktop |
ที่ซ่อนอยู่ | ที่ซ่อนอยู่ | มองเห็นได้ |
.hidden-phone |
ที่ซ่อนอยู่ | มองเห็นได้ | มองเห็นได้ |
.hidden-tablet |
มองเห็นได้ | ที่ซ่อนอยู่ | มองเห็นได้ |
.hidden-desktop |
มองเห็นได้ | มองเห็นได้ | ที่ซ่อนอยู่ |
ปรับขนาดเบราว์เซอร์ของคุณหรือโหลดบนอุปกรณ์ต่าง ๆ เพื่อทดสอบคลาสข้างต้น
เครื่องหมายถูกสีเขียวแสดงว่าคลาสปรากฏในวิวพอร์ตปัจจุบันของคุณ
ที่นี่ เครื่องหมายถูกสีเขียวแสดงว่าคลาสถูกซ่อนอยู่ในวิวพอร์ตปัจจุบันของคุณ