รับข้อมูลเบื้องต้นเกี่ยวกับโครงสร้างพื้นฐานของ Bootstrap รวมถึงแนวทางการพัฒนาเว็บที่ดีขึ้น เร็วขึ้น และแข็งแกร่งขึ้น
ประเภทเอกสาร HTML5
Bootstrap ใช้ประโยชน์จากองค์ประกอบ HTML และคุณสมบัติ CSS บางอย่างที่ต้องใช้ประเภทเอกสาร HTML5 รวมไว้ที่จุดเริ่มต้นของโครงการทั้งหมดของคุณ
<!DOCTYPE html>
<html lang= "en" >
...
</html>
มือถือก่อน
ด้วย Bootstrap 2 เราได้เพิ่มรูปแบบที่เป็นมิตรกับอุปกรณ์พกพาสำหรับประเด็นสำคัญของเฟรมเวิร์ก ด้วย Bootstrap 3 เราได้เขียนโปรเจ็กต์ใหม่เพื่อให้เหมาะกับอุปกรณ์พกพาตั้งแต่เริ่มต้น แทนที่จะเพิ่มสไตล์สำหรับอุปกรณ์พกพาที่เป็นตัวเลือก อันที่จริงBootstrap เป็นมือถือ ก่อน รูปแบบ Mobile first สามารถพบได้ทั่วทั้งไลบรารี แทนที่จะพบในไฟล์ที่แยกจากกัน
เพื่อให้แน่ใจว่าการเรนเดอร์ที่เหมาะสมและการซูมแบบสัมผัส ให้เพิ่มเมตาแท็กวิวพอร์ต ใน<head>
.
<meta name= "viewport" content= "width=device-width, initial-scale=1" >
คุณสามารถปิดใช้งานความสามารถในการซูมบนอุปกรณ์มือถือโดยเพิ่มuser-scalable=no
ในเมตาแท็กวิวพอร์ต การดำเนินการนี้จะปิดใช้งานการซูม ซึ่งหมายความว่าผู้ใช้สามารถเลื่อนได้เท่านั้น และส่งผลให้ไซต์ของคุณรู้สึกเหมือนแอปพลิเคชันที่มาพร้อมเครื่องมากขึ้น โดยรวมแล้ว เราไม่แนะนำสิ่งนี้ในทุกไซต์ ดังนั้นโปรดใช้ความระมัดระวัง!
<meta name= "viewport" content= "width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" >
วิชาการพิมพ์และลิงค์
Bootstrap ตั้งค่าการแสดงผลสากล การพิมพ์ และสไตล์ลิงก์ โดยเฉพาะอย่างยิ่ง เรา:
ตั้งbackground-color: #fff;
อยู่บนbody
ใช้@font-family-base
, @font-size-base
, และ@line-height-base
คุณลักษณะเป็นฐานการพิมพ์ของเรา
กำหนดสีลิงค์สากลผ่าน@link-color
และใช้ลิงค์ที่ขีดเส้นใต้เฉพาะบน:hover
รูปแบบเหล่านี้สามารถพบได้scaffolding.less
ภายใน
Normalize.css
เพื่อการเรนเดอ ร์ข้ามเบราว์เซอร์ที่ดีขึ้น เราใช้Normalize.css ซึ่งเป็นโครงการโดยNicolas Gallagher และJonathan Neal
ตู้คอนเทนเนอร์
Bootstrap ต้องการองค์ประกอบที่มีเพื่อห่อเนื้อหาไซต์และจัดเก็บระบบกริดของเรา คุณสามารถเลือกหนึ่งในสองคอนเทนเนอร์เพื่อใช้ในโครงการของคุณ โปรดทราบว่าเนื่องจากpadding
และอื่น ๆ คอนเทนเนอร์ไม่สามารถซ้อนกันได้
ใช้.container
สำหรับคอนเทนเนอร์ความกว้างคงที่ที่ตอบสนอง
<div class= "container" >
...
</div>
ใช้.container-fluid
สำหรับคอนเทนเนอร์เต็มความกว้าง ขยายความกว้างทั้งหมดของวิวพอร์ตของคุณ
<div class= "container-fluid" >
...
</div>
Bootstrap มีระบบกริดแบบไหลแรกที่ตอบสนองและเคลื่อนที่ได้ ซึ่งปรับขนาดได้อย่างเหมาะสมถึง 12 คอลัมน์เมื่อขนาดอุปกรณ์หรือวิวพอร์ตเพิ่มขึ้น ประกอบด้วยคลาสที่กำหนดไว้ล่วงหน้า สำหรับตัวเลือกเลย์เอาต์ที่ง่าย เช่นเดียวกับมิกซ์อินที่ทรงพลังสำหรับการสร้างเลย์เอาต์ที่มีความหมายมาก ขึ้น
บทนำ
ระบบกริดใช้สำหรับสร้างเค้าโครงหน้าผ่านชุดของแถวและคอลัมน์ที่เก็บเนื้อหาของคุณ นี่คือวิธีการทำงานของระบบกริด Bootstrap:
ต้องวางแถวภายใน.container
(ความกว้างคงที่) หรือ.container-fluid
(ความกว้างเต็ม) เพื่อการจัดตำแหน่งและช่องว่างภายในที่เหมาะสม
ใช้แถวเพื่อสร้างกลุ่มคอลัมน์แนวนอน
ควรวางเนื้อหาภายในคอลัมน์ และเฉพาะคอลัมน์เท่านั้นที่อาจเป็นแถวย่อยของแถว
คลาสกริดที่กำหนดไว้ล่วงหน้าเช่น.row
และ.col-xs-4
พร้อมสำหรับการสร้างเลย์เอาต์กริดอย่างรวดเร็ว สามารถใช้มิกซ์อินน้อยลงสำหรับเลย์เอาต์ที่มีความหมายมากขึ้น
คอลัมน์สร้างรางน้ำ (ช่องว่างระหว่างเนื้อหาคอลัมน์) ผ่านpadding
. ช่องว่างภายในนั้นถูกชดเชยเป็นแถวสำหรับคอลัมน์แรกและคอลัมน์สุดท้ายโดยใช้ระยะขอบติดลบบน.row
s
ระยะขอบติดลบคือสาเหตุที่ตัวอย่างด้านล่างเยื้องออก เนื้อหาภายในคอลัมน์กริดจึงถูกจัดเรียงด้วยเนื้อหาที่ไม่ใช่กริด
คอลัมน์กริดถูกสร้างขึ้นโดยการระบุจำนวนคอลัมน์ที่มีอยู่สิบสองคอลัมน์ที่คุณต้องการขยาย ตัวอย่างเช่น สามคอลัมน์ที่เท่ากันจะใช้สาม.col-xs-4
คอลัมน์
หากวางมากกว่า 12 คอลัมน์ภายในแถวเดียว กลุ่มของคอลัมน์พิเศษแต่ละกลุ่มจะรวมเป็นหนึ่งหน่วยในบรรทัดใหม่
คลาสกริดใช้กับอุปกรณ์ที่มีความกว้างหน้าจอมากกว่าหรือเท่ากับขนาดเบรกพอยต์ และแทนที่คลาสกริดที่กำหนดเป้าหมายไปที่อุปกรณ์ขนาดเล็ก ดังนั้น เช่น การใช้.col-md-*
คลาสใดๆ กับองค์ประกอบจะไม่เพียงส่งผลต่อสไตล์ของมันบนอุปกรณ์ขนาดกลางเท่านั้น แต่ยังส่งผลต่ออุปกรณ์ขนาดใหญ่ด้วยหากไม่มี.col-lg-*
คลาส
ดูตัวอย่างสำหรับการนำหลักการเหล่านี้ไปใช้กับโค้ดของคุณ
เราใช้แบบสอบถามสื่อต่อไปนี้ในไฟล์ Less ของเราเพื่อสร้างเบรกพอยต์ที่สำคัญในระบบกริดของเรา
/* Extra small devices (phones, less than 768px) */
/* No media query since this is the default in Bootstrap */
/* Small devices (tablets, 768px and up) */
@media ( min-width : @ screen-sm-min ) { ... }
/* Medium devices (desktops, 992px and up) */
@media ( min-width : @ screen-md-min ) { ... }
/* Large devices (large desktops, 1200px and up) */
@media ( min-width : @ screen-lg-min ) { ... }
เราขยายการสืบค้นสื่อเหล่านี้เป็นครั้งคราวเพื่อรวม a max-width
เพื่อจำกัด CSS ให้อยู่ในชุดอุปกรณ์ที่แคบลง
@media ( max-width : @ screen-xs-max ) { ... }
@media ( min-width : @ screen-sm-min ) and ( max-width : @ screen-sm-max ) { ... }
@media ( min-width : @ screen-md-min ) and ( max-width : @ screen-md-max ) { ... }
@media ( min-width : @ screen-lg-min ) { ... }
ตัวเลือกกริด
ดูว่าแง่มุมต่างๆ ของระบบกริด Bootstrap ทำงานอย่างไรในอุปกรณ์หลายเครื่องด้วยตารางที่ใช้งานสะดวก
อุปกรณ์ขนาดเล็กพิเศษโทรศัพท์ (<768px)
อุปกรณ์ขนาดเล็กแท็บเล็ต (≥768px)
อุปกรณ์ขนาดกลางเดสก์ท็อป (≥992px)
อุปกรณ์ขนาดใหญ่เดสก์ท็อป (≥1200px)
พฤติกรรมของกริด
แนวนอนตลอดเวลา
ยุบเพื่อเริ่มต้น แนวนอนเหนือเบรกพอยต์
ความกว้างของคอนเทนเนอร์
ไม่มี (อัตโนมัติ)
750px
970px
1170px
คำนำหน้าชั้นเรียน
.col-xs-
.col-sm-
.col-md-
.col-lg-
# ของคอลัมน์
12
ความกว้างของคอลัมน์
รถยนต์
~62px
~81px
~97px
ความกว้างของรางน้ำ
30px (15px ในแต่ละด้านของคอลัมน์)
Nestable
ใช่
ออฟเซ็ต
ใช่
การเรียงลำดับคอลัมน์
ใช่
ตัวอย่าง: Stacked-to-horizontal
ด้วยการใช้คลาสกริดชุดเดียว.col-md-*
คุณสามารถสร้างระบบกริดพื้นฐานที่เริ่มต้นจากสแต็กบนอุปกรณ์มือถือและอุปกรณ์แท็บเล็ต (ช่วงเล็กพิเศษถึงเล็ก) ก่อนที่จะกลายเป็นแนวนอนบนอุปกรณ์เดสก์ท็อป (ขนาดกลาง) วางคอลัมน์กริดใน.row
ไฟล์ .
.col-md-1
.col-md-1
.col-md-1
.col-md-1
.col-md-1
.col-md-1
.col-md-1
.col-md-1
.col-md-1
.col-md-1
.col-md-1
.col-md-1
.col-md-4
.col-md-4
.col-md-4
<div class= "row" >
<div class= "col-md-1" > .col-md-1</div>
<div class= "col-md-1" > .col-md-1</div>
<div class= "col-md-1" > .col-md-1</div>
<div class= "col-md-1" > .col-md-1</div>
<div class= "col-md-1" > .col-md-1</div>
<div class= "col-md-1" > .col-md-1</div>
<div class= "col-md-1" > .col-md-1</div>
<div class= "col-md-1" > .col-md-1</div>
<div class= "col-md-1" > .col-md-1</div>
<div class= "col-md-1" > .col-md-1</div>
<div class= "col-md-1" > .col-md-1</div>
<div class= "col-md-1" > .col-md-1</div>
</div>
<div class= "row" >
<div class= "col-md-8" > .col-md-8</div>
<div class= "col-md-4" > .col-md-4</div>
</div>
<div class= "row" >
<div class= "col-md-4" > .col-md-4</div>
<div class= "col-md-4" > .col-md-4</div>
<div class= "col-md-4" > .col-md-4</div>
</div>
<div class= "row" >
<div class= "col-md-6" > .col-md-6</div>
<div class= "col-md-6" > .col-md-6</div>
</div>
ตัวอย่าง: ภาชนะบรรจุของเหลว
เปลี่ยนเค้าโครงตารางความกว้างคงที่เป็นเค้าโครงแบบเต็มความกว้างโดยเปลี่ยนนอกสุดของคุณ.container
เป็น.container-fluid
.
<div class= "container-fluid" >
<div class= "row" >
...
</div>
</div>
ตัวอย่าง: มือถือและเดสก์ท็อป
ไม่ต้องการให้คอลัมน์ของคุณซ้อนกันในอุปกรณ์ขนาดเล็กใช่หรือไม่ ใช้คลาสกริดอุปกรณ์ขนาดเล็กและขนาดกลางพิเศษโดยเพิ่ม.col-xs-*
.col-md-*
ลงในคอลัมน์ของคุณ ดูตัวอย่างด้านล่างสำหรับแนวคิดที่ดีขึ้นเกี่ยวกับวิธีการทำงานทั้งหมด
.col-xs-12 .col-md-8
.col-xs-6 .col-md-4
.col-xs-6 .col-md-4
.col-xs-6 .col-md-4
.col-xs-6 .col-md-4
<!-- Stack the columns on mobile by making one full-width and the other half-width -->
<div class= "row" >
<div class= "col-xs-12 col-md-8" > .col-xs-12 .col-md-8</div>
<div class= "col-xs-6 col-md-4" > .col-xs-6 .col-md-4</div>
</div>
<!-- Columns start at 50% wide on mobile and bump up to 33.3% wide on desktop -->
<div class= "row" >
<div class= "col-xs-6 col-md-4" > .col-xs-6 .col-md-4</div>
<div class= "col-xs-6 col-md-4" > .col-xs-6 .col-md-4</div>
<div class= "col-xs-6 col-md-4" > .col-xs-6 .col-md-4</div>
</div>
<!-- Columns are always 50% wide, on mobile and desktop -->
<div class= "row" >
<div class= "col-xs-6" > .col-xs-6</div>
<div class= "col-xs-6" > .col-xs-6</div>
</div>
ตัวอย่าง: มือถือ แท็บเล็ต เดสก์ท็อป
สร้างจากตัวอย่างก่อนหน้านี้ด้วยการสร้างเค้าโครงแบบไดนามิกและทรงพลังยิ่งขึ้นด้วย.col-sm-*
คลาส แท็บเล็ต
.col-xs-12 .col-sm-6 .col-md-8
.col-xs-6 .col-md-4
.col-xs-6 .col-sm-4
.col-xs-6 .col-sm-4
.col-xs-6 .col-sm-4
<div class= "row" >
<div class= "col-xs-12 col-sm-6 col-md-8" > .col-xs-12 .col-sm-6 .col-md-8</div>
<div class= "col-xs-6 col-md-4" > .col-xs-6 .col-md-4</div>
</div>
<div class= "row" >
<div class= "col-xs-6 col-sm-4" > .col-xs-6 .col-sm-4</div>
<div class= "col-xs-6 col-sm-4" > .col-xs-6 .col-sm-4</div>
<!-- Optional: clear the XS cols if their content doesn't match in height -->
<div class= "clearfix visible-xs-block" ></div>
<div class= "col-xs-6 col-sm-4" > .col-xs-6 .col-sm-4</div>
</div>
ตัวอย่าง: การตัดคอลัมน์
หากวางมากกว่า 12 คอลัมน์ภายในแถวเดียว กลุ่มของคอลัมน์พิเศษแต่ละกลุ่มจะรวมเป็นหนึ่งหน่วยในบรรทัดใหม่
.col-xs-9
.col-xs-4
ตั้งแต่ 9 + 4 = 13 > 12 div ทั้ง 4 คอลัมน์นี้จะถูกรวมเข้ากับบรรทัดใหม่เป็นหน่วยที่ต่อเนื่องกัน
.col-xs-6
คอลัมน์ที่ตามมาจะดำเนินต่อไปในบรรทัดใหม่
<div class= "row" >
<div class= "col-xs-9" > .col-xs-9</div>
<div class= "col-xs-4" > .col-xs-4<br> Since 9 + 4 = 13 > 12, this 4-column-wide div gets wrapped onto a new line as one contiguous unit.</div>
<div class= "col-xs-6" > .col-xs-6<br> Subsequent columns continue along the new line.</div>
</div>
รีเซ็ตคอลัมน์ตอบสนอง
ด้วยกริดสี่ระดับที่พร้อมใช้งาน คุณจะต้องพบกับปัญหาที่คอลัมน์ของคุณไม่ชัดเจนในบางจุด เนื่องจากอันหนึ่งสูงกว่าอีกอันหนึ่ง ในการแก้ไขปัญหานั้น ให้ใช้ a .clearfix
และคลาสยูทิลิตี้ที่ตอบสนอง ของเรา ร่วมกัน
.col-xs-6 .col-sm-3
ปรับขนาดวิวพอร์ตของคุณหรือดูตัวอย่างจากโทรศัพท์ของคุณ
.col-xs-6 .col-sm-3
.col-xs-6 .col-sm-3
.col-xs-6 .col-sm-3
<div class= "row" >
<div class= "col-xs-6 col-sm-3" > .col-xs-6 .col-sm-3</div>
<div class= "col-xs-6 col-sm-3" > .col-xs-6 .col-sm-3</div>
<!-- Add the extra clearfix for only the required viewport -->
<div class= "clearfix visible-xs-block" ></div>
<div class= "col-xs-6 col-sm-3" > .col-xs-6 .col-sm-3</div>
<div class= "col-xs-6 col-sm-3" > .col-xs-6 .col-sm-3</div>
</div>
นอกเหนือจากการล้างคอลัมน์ที่จุดสั่งหยุดที่ตอบสนองแล้ว คุณอาจต้องรีเซ็ตออฟเซ็ต ผลัก หรือ ดึง ดูการดำเนินการนี้ในตัวอย่าง กริด
<div class= "row" >
<div class= "col-sm-5 col-md-6" > .col-sm-5 .col-md-6</div>
<div class= "col-sm-5 col-sm-offset-2 col-md-6 col-md-offset-0" > .col-sm-5 .col-sm-offset-2 .col-md-6 .col-md-offset-0</div>
</div>
<div class= "row" >
<div class= "col-sm-6 col-md-5 col-lg-6" > .col-sm-6 .col-md-5 .col-lg-6</div>
<div class= "col-sm-6 col-md-5 col-md-offset-2 col-lg-6 col-lg-offset-0" > .col-sm-6 .col-md-5 .col-md-offset-2 .col-lg-6 .col-lg-offset-0</div>
</div>
คอลัมน์ออฟเซ็ต
ย้ายคอลัมน์ไปทางขวาโดยใช้.col-md-offset-*
คลาส ชั้นเรียนเหล่านี้เพิ่มระยะขอบด้านซ้ายของคอลัมน์ทีละ*
คอลัมน์ ตัวอย่างเช่น.col-md-offset-4
ย้าย.col-md-4
มากกว่าสี่คอลัมน์
.col-md-4
.col-md-4 .col-md-offset-4
.col-md-3 .col-md-offset-3
.col-md-3 .col-md-offset-3
.col-md-6 .col-md-offset-3
<div class= "row" >
<div class= "col-md-4" > .col-md-4</div>
<div class= "col-md-4 col-md-offset-4" > .col-md-4 .col-md-offset-4</div>
</div>
<div class= "row" >
<div class= "col-md-3 col-md-offset-3" > .col-md-3 .col-md-offset-3</div>
<div class= "col-md-3 col-md-offset-3" > .col-md-3 .col-md-offset-3</div>
</div>
<div class= "row" >
<div class= "col-md-6 col-md-offset-3" > .col-md-6 .col-md-offset-3</div>
</div>
คุณยังสามารถแทนที่ออฟเซ็ตจากระดับกริดที่ต่ำกว่าด้วย.col-*-offset-0
คลาส
<div class= "row" >
<div class= "col-xs-6 col-sm-4" >
</div>
<div class= "col-xs-6 col-sm-4" >
</div>
<div class= "col-xs-6 col-xs-offset-3 col-sm-4 col-sm-offset-0" >
</div>
</div>
เสาทำรัง
หากต้องการซ้อนเนื้อหาของคุณด้วยกริดเริ่มต้น ให้เพิ่มคอลัมน์ใหม่.row
และชุดของ.col-sm-*
คอลัมน์ภายในคอลัมน์ที่มี.col-sm-*
อยู่ แถวที่ซ้อนกันควรมีชุดของคอลัมน์ที่รวมกันได้ไม่เกิน 12 คอลัมน์ (คุณไม่จำเป็นต้องใช้คอลัมน์ที่มีอยู่ทั้งหมด 12 คอลัมน์)
ระดับ 1: .col-sm-9
ระดับ 2: .col-xs-8 .col-sm-6
ระดับ 2: .col-xs-4 .col-sm-6
<div class= "row" >
<div class= "col-sm-9" >
Level 1: .col-sm-9
<div class= "row" >
<div class= "col-xs-8 col-sm-6" >
Level 2: .col-xs-8 .col-sm-6
</div>
<div class= "col-xs-4 col-sm-6" >
Level 2: .col-xs-4 .col-sm-6
</div>
</div>
</div>
</div>
การเรียงลำดับคอลัมน์
เปลี่ยนลำดับของคอลัมน์กริดในตัวของเราด้วย.col-md-push-*
และ.col-md-pull-*
ปรับเปลี่ยนคลาสได้อย่างง่ายดาย
.col-md-9 .col-md-push-3
.col-md-3 .col-md-pull-9
<div class= "row" >
<div class= "col-md-9 col-md-push-3" > .col-md-9 .col-md-push-3</div>
<div class= "col-md-3 col-md-pull-9" > .col-md-3 .col-md-pull-9</div>
</div>
มิกซ์อินและตัวแปรน้อยลง
นอกเหนือจากคลาสกริดที่สร้างไว้ล่วงหน้า สำหรับเลย์เอาต์ที่รวดเร็ว Bootstrap ยังมีตัวแปร Less และมิกซ์อินเพื่อสร้างเลย์เอาต์ที่เรียบง่ายและมีความหมายของคุณเองอย่างรวดเร็ว
ตัวแปร
ตัวแปรกำหนดจำนวนคอลัมน์ ความกว้างของรางน้ำ และจุดสอบถามสื่อที่จะเริ่มต้นคอลัมน์แบบลอย เราใช้สิ่งเหล่านี้เพื่อสร้างคลาสกริดที่กำหนดไว้ล่วงหน้าที่บันทึกไว้ด้านบน เช่นเดียวกับมิกซ์อินแบบกำหนดเองที่แสดงด้านล่าง
@grid-columns : 12 ;
@grid-gutter-width : 30px ;
@grid-float-breakpoint : 768px ;
มิกซ์อิน
ใช้มิกซ์อินร่วมกับตัวแปรกริดเพื่อสร้าง CSS เชิงความหมายสำหรับคอลัมน์กริดแต่ละคอลัมน์
// Creates a wrapper for a series of columns
. make-row (@ gutter : @ grid-gutter-width ) {
// Then clear the floated columns
.clearfix () ;
@media ( min-width : @ screen-sm-min ) {
margin-left : ( @ gutter / -2 );
margin-right : ( @ gutter / -2 );
}
// Negative margin nested rows out to align the content of columns
.row {
margin-left : ( @ gutter / -2 );
margin-right : ( @ gutter / -2 );
}
}
// Generate the extra small columns
.make-xs-column (@ columns ; @gutter : @ grid-gutter-width ) {
position : relative ;
// Prevent columns from collapsing when empty
min-height : 1px ;
// Inner gutter via padding
padding-left : ( @ gutter / 2 );
padding-right : ( @ gutter / 2 );
// Calculate width based on number of columns available
@media ( min-width : @ grid-float-breakpoint ) {
float : left ;
width : percentage (( @ columns / @ grid-columns ));
}
}
// Generate the small columns
.make-sm-column (@ columns ; @gutter : @ grid-gutter-width ) {
position : relative ;
// Prevent columns from collapsing when empty
min-height : 1px ;
// Inner gutter via padding
padding-left : ( @ gutter / 2 );
padding-right : ( @ gutter / 2 );
// Calculate width based on number of columns available
@media ( min-width : @ screen-sm-min ) {
float : left ;
width : percentage (( @ columns / @ grid-columns ));
}
}
// Generate the small column offsets
.make-sm-column-offset (@ columns ) {
@media ( min-width : @ screen-sm-min ) {
margin-left : percentage (( @ columns / @ grid-columns ));
}
}
.make-sm-column-push (@ columns ) {
@media ( min-width : @ screen-sm-min ) {
left : percentage (( @ columns / @ grid-columns ));
}
}
.make-sm-column-pull (@ columns ) {
@media ( min-width : @ screen-sm-min ) {
right : percentage (( @ columns / @ grid-columns ));
}
}
// Generate the medium columns
.make-md-column (@ columns ; @gutter : @ grid-gutter-width ) {
position : relative ;
// Prevent columns from collapsing when empty
min-height : 1px ;
// Inner gutter via padding
padding-left : ( @ gutter / 2 );
padding-right : ( @ gutter / 2 );
// Calculate width based on number of columns available
@media ( min-width : @ screen-md-min ) {
float : left ;
width : percentage (( @ columns / @ grid-columns ));
}
}
// Generate the medium column offsets
.make-md-column-offset (@ columns ) {
@media ( min-width : @ screen-md-min ) {
margin-left : percentage (( @ columns / @ grid-columns ));
}
}
.make-md-column-push (@ columns ) {
@media ( min-width : @ screen-md-min ) {
left : percentage (( @ columns / @ grid-columns ));
}
}
.make-md-column-pull (@ columns ) {
@media ( min-width : @ screen-md-min ) {
right : percentage (( @ columns / @ grid-columns ));
}
}
// Generate the large columns
.make-lg-column (@ columns ; @gutter : @ grid-gutter-width ) {
position : relative ;
// Prevent columns from collapsing when empty
min-height : 1px ;
// Inner gutter via padding
padding-left : ( @ gutter / 2 );
padding-right : ( @ gutter / 2 );
// Calculate width based on number of columns available
@media ( min-width : @ screen-lg-min ) {
float : left ;
width : percentage (( @ columns / @ grid-columns ));
}
}
// Generate the large column offsets
.make-lg-column-offset (@ columns ) {
@media ( min-width : @ screen-lg-min ) {
margin-left : percentage (( @ columns / @ grid-columns ));
}
}
.make-lg-column-push (@ columns ) {
@media ( min-width : @ screen-lg-min ) {
left : percentage (( @ columns / @ grid-columns ));
}
}
.make-lg-column-pull (@ columns ) {
@media ( min-width : @ screen-lg-min ) {
right : percentage (( @ columns / @ grid-columns ));
}
}
ตัวอย่างการใช้งาน
คุณสามารถแก้ไขตัวแปรให้เป็นค่าที่คุณกำหนดเอง หรือเพียงแค่ใช้มิกซ์อินกับค่าเริ่มต้นของพวกมัน ต่อไปนี้คือตัวอย่างการใช้การตั้งค่าเริ่มต้นเพื่อสร้างเค้าโครงแบบสองคอลัมน์โดยมีช่องว่างระหว่าง
.wrapper {
.make-row () ;
}
.content-main {
.make-lg-column ( 8 ) ;
}
.content-secondary {
.make-lg-column ( 3 ) ;
.make-lg-column-offset ( 1 ) ;
}
<div class= "wrapper" >
<div class= "content-main" > ...</div>
<div class= "content-secondary" > ...</div>
</div>
หัวเรื่อง
มีหัวเรื่อง HTML ทั้งหมด<h1>
ผ่าน<h6>
, .h1
ผ่าน.h6
ชั้นเรียนได้เช่นกัน สำหรับเมื่อคุณต้องการจับคู่รูปแบบตัวอักษรของหัวเรื่อง แต่ยังต้องการให้ข้อความของคุณแสดงแบบอินไลน์
ชั่วโมง1. Bootstrap หัวเรื่อง
เซมิโบลด์ 36px
ชั่วโมง2. Bootstrap หัวเรื่อง
Semibold 30px
ชั่วโมง3. Bootstrap หัวเรื่อง
เซมิโบลด์ 24px
ชั่วโมง4. Bootstrap หัวเรื่อง
เซมิโบลด์ 18px
h5. Bootstrap หัวเรื่อง
เซมิโบลด์ 14px
h6. Bootstrap หัวเรื่อง
เซมิโบลด์ 12px
<h1> h1. Bootstrap heading</h1>
<h2> h2. Bootstrap heading</h2>
<h3> h3. Bootstrap heading</h3>
<h4> h4. Bootstrap heading</h4>
<h5> h5. Bootstrap heading</h5>
<h6> h6. Bootstrap heading</h6>
สร้างข้อความรองที่เบากว่าในหัวข้อใดก็ได้ด้วย<small>
แท็กทั่วไปหรือใน.small
ชั้นเรียน
ชั่วโมง1. Bootstrap หัวเรื่องข้อความรอง
ชั่วโมง2. Bootstrap หัวเรื่องข้อความรอง
ชั่วโมง3. Bootstrap หัวเรื่องข้อความรอง
ชั่วโมง4. Bootstrap หัวเรื่องข้อความรอง
h5. Bootstrap หัวเรื่องข้อความรอง
h6. Bootstrap หัวเรื่องข้อความรอง
<h1> h1. Bootstrap heading <small> Secondary text</small></h1>
<h2> h2. Bootstrap heading <small> Secondary text</small></h2>
<h3> h3. Bootstrap heading <small> Secondary text</small></h3>
<h4> h4. Bootstrap heading <small> Secondary text</small></h4>
<h5> h5. Bootstrap heading <small> Secondary text</small></h5>
<h6> h6. Bootstrap heading <small> Secondary text</small></h6>
สำเนาร่างกาย
ค่าเริ่มต้นทั่วโลกของ Bootstrap font-size
คือ14px โดยมีค่าline-height
เท่ากับ1.428 สิ่งนี้ใช้กับ<body>
วรรคและทั้งหมด นอกจากนี้<p>
(ย่อหน้า) ได้รับระยะขอบด้านล่างครึ่งหนึ่งของความสูงบรรทัดที่คำนวณ (10px โดยค่าเริ่มต้น)
Nullam quis risus eget urna mollis ornare vel eu leo Cum sociis natoque penatibus และ magnis dis parturient montes, nascetur ridiculus mus. Nullam id dolor id nibh ultricies ยานพาหนะ
Cum sociis natoque penatibus และ magnis dis parturient montes, nascetur ridiculus mus. Donec ullamcorper nulla non metus auctor fringilla. Duis mollis, est ไม่ใช่ commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit Donec ullamcorper nulla non metus auctor fringilla.
Maecenas sed diam eget risus varius blandit นั่ง amet non magna. Donec id elit non mi porta gravida ที่ eget metus Duis mollis, est ไม่ใช่ commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit
<p> ...</p>
สำเนาเนื้อตะกั่ว
ทำให้ย่อหน้าโดดเด่นด้วยการเพิ่ม.lead
.
Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Duis mollis, est non commodo luctus.
<p class= "lead" > ...</p>
สร้างด้วย Less
มาตราส่วนการพิมพ์ขึ้นอยู่กับตัวแปร Less สองตัวในvariables.less : @font-size-base
และ @line-height-base
อันแรกคือขนาดฟอนต์พื้นฐานที่ใช้ตลอด และอันที่สองคือความสูงของบรรทัดฐาน เราใช้ตัวแปรเหล่านั้นและคณิตศาสตร์ง่ายๆ เพื่อสร้างระยะขอบ ช่องว่างภายใน และความสูงของเส้นทุกประเภทของเราและอีกมากมาย ปรับแต่งและ Bootstrap ปรับ
องค์ประกอบข้อความแบบอินไลน์
ทำเครื่องหมายข้อความ
สำหรับการเน้นข้อความที่รันเนื่องจากความเกี่ยวข้องในบริบทอื่น ให้ใช้<mark>
แท็ก
คุณสามารถใช้แท็กเครื่องหมายเพื่อไฮไลท์ ข้อความ.
You can use the mark tag to <mark> highlight</mark> text.
ข้อความที่ถูกลบ
สำหรับการระบุบล็อคข้อความที่ถูกลบไปแล้ว ให้ใช้<del>
แท็ก
ข้อความบรรทัดนี้มีขึ้นเพื่อเป็นข้อความที่ถูกลบ
<del> This line of text is meant to be treated as deleted text.</del>
ข้อความขีดทับ
สำหรับการระบุกลุ่มข้อความที่ไม่เกี่ยวข้องอีกต่อไป ให้ใช้<s>
แท็ก
ข้อความบรรทัดนี้มีไว้เพื่อให้ถือว่าไม่ถูกต้องอีกต่อไป
<s> This line of text is meant to be treated as no longer accurate.</s>
แทรกข้อความ
สำหรับการระบุส่วนเพิ่มเติมในเอกสารให้ใช้<ins>
แท็ก
ข้อความบรรทัดนี้มีไว้เพื่อใช้เป็นส่วนเสริมของเอกสาร
<ins> This line of text is meant to be treated as an addition to the document.</ins>
ข้อความที่ขีดเส้นใต้
หากต้องการขีดเส้นใต้ข้อความให้ใช้<u>
แท็ก
ข้อความบรรทัดนี้จะแสดงเป็นขีดเส้นใต้
<u> This line of text will render as underlined</u>
ใช้แท็กเน้นเริ่มต้นของ HTML ที่มีสไตล์น้ำหนักเบา
ข้อความขนาดเล็ก
สำหรับการไม่เน้นข้อความในบรรทัดหรือบล็อกข้อความ ให้ใช้<small>
แท็กเพื่อตั้งค่าข้อความที่ขนาดพาเรนต์ 85% องค์ประกอบส่วนหัวจะได้รับองค์ประกอบที่font-size
ซ้อนกัน เป็นของตัวเอง<small>
หรือคุณอาจใช้องค์ประกอบแบบอินไลน์.small
แทนที่<small>
.
ข้อความบรรทัดนี้มีขึ้นเพื่อเป็นการพิมพ์ที่ดี
<small> This line of text is meant to be treated as fine print.</small>
ตัวหนา
สำหรับการเน้นตัวอย่างข้อความที่มีน้ำหนักแบบอักษรที่หนักกว่า
ตัวอย่างข้อความต่อไปนี้จะ แสดงเป็นข้อความ ตัวหนา
<strong> rendered as bold text</strong>
ตัวเอียง
สำหรับเน้นตัวอย่างข้อความด้วยตัวเอียง
ตัวอย่างข้อความต่อไปนี้จะ แสดงเป็นข้อความ ตัวเอียง
<em> rendered as italicized text</em>
องค์ประกอบสำรอง
รู้สึกอิสระที่จะใช้<b>
และ<i>
ใน HTML5 <b>
มีขึ้นเพื่อเน้นคำหรือวลีโดยไม่แสดงความสำคัญเพิ่มเติม ในขณะที่<i>
ส่วนใหญ่ใช้สำหรับเสียง คำศัพท์ทางเทคนิค ฯลฯ
คลาสการจัดตำแหน่ง
ปรับข้อความใหม่เป็นส่วนประกอบได้อย่างง่ายดายด้วยคลาสการจัดตำแหน่งข้อความ
ข้อความชิดซ้าย
ข้อความที่จัดกึ่งกลาง
ข้อความชิดขวา
ข้อความที่มีเหตุผล
ไม่มีข้อความตัด
<p class= "text-left" > Left aligned text.</p>
<p class= "text-center" > Center aligned text.</p>
<p class= "text-right" > Right aligned text.</p>
<p class= "text-justify" > Justified text.</p>
<p class= "text-nowrap" > No wrap text.</p>
แปลงข้อความในส่วนประกอบด้วยคลาสการใช้อักษรตัวพิมพ์ใหญ่
ข้อความตัวพิมพ์เล็ก
ข้อความตัวพิมพ์ใหญ่
ข้อความตัวพิมพ์ใหญ่
<p class= "text-lowercase" > Lowercased text.</p>
<p class= "text-uppercase" > Uppercased text.</p>
<p class= "text-capitalize" > Capitalized text.</p>
ตัวย่อ
การนำ<abbr>
องค์ประกอบ HTML ไปใช้อย่างมีสไตล์สำหรับตัวย่อและตัวย่อเพื่อแสดงเวอร์ชันขยายเมื่อวางเมาส์เหนือ ตัวย่อที่มีtitle
แอตทริบิวต์จะมีขอบด้านล่างเป็นเส้นประสีอ่อนและเคอร์เซอร์ความช่วยเหลือเมื่อวางเมาส์เหนือ ซึ่งให้บริบทเพิ่มเติมเกี่ยวกับโฮเวอร์และสำหรับผู้ใช้เทคโนโลยีอำนวยความสะดวก
ตัวย่อพื้นฐาน
ตัวย่อของแอตทริบิวต์ word คือattr
<abbr title= "attribute" > attr</abbr>
อักษรย่อ
เพิ่ม.initialism
คำย่อสำหรับขนาดตัวอักษรที่เล็กกว่าเล็กน้อย
HTML เป็นสิ่งที่ดีที่สุดตั้งแต่หั่นขนมปัง
<abbr title= "HyperText Markup Language" class= "initialism" > HTML</abbr>
ที่อยู่
แสดงข้อมูลติดต่อสำหรับบรรพบุรุษที่ใกล้ที่สุดหรือทั้งหน่วยงาน คง รูปแบบไว้โดยลงท้ายทุกบรรทัดด้วย<br>
.
Twitter, Inc. 1355 Market Street, Suite 900 San Francisco, CA 94103 P: (123) 456-7890
ชื่อ-นามสกุล [email protected]
<address>
<strong> Twitter, Inc.</strong><br>
1355 Market Street, Suite 900<br>
San Francisco, CA 94103<br>
<abbr title= "Phone" > P:</abbr> (123) 456-7890
</address>
<address>
<strong> Full Name</strong><br>
<a href= "mailto:#" > [email protected] </a>
</address>
Blockquotes
สำหรับการอ้างอิงบล็อกของเนื้อหาจากแหล่งอื่นภายในเอกสารของคุณ
blockquote เริ่มต้น
ล้อม<blockquote>
รอบHTML ใด ๆ เป็นใบเสนอราคา สำหรับราคาที่ตรงไปตรงมา เราขอแนะนำ<p>
.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. โลเรม อิปซัม โดลอร์ จำนวนเต็ม posuere erat ante
<blockquote>
<p> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.</p>
</blockquote>
ตัวเลือก Blockquote
การเปลี่ยนแปลงรูปแบบและเนื้อหาสำหรับรูปแบบที่เรียบง่ายใน<blockquote>
มาตรฐาน
การตั้งชื่อแหล่งที่มา
เพิ่ม<footer>
เพื่อระบุแหล่งที่มา ตัดชื่องานต้นฉบับใน<cite>
.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. โลเรม อิปซัม โดลอร์ จำนวนเต็ม posuere erat ante
คนที่มีชื่อเสียงใน
Source Title
<blockquote>
<p> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.</p>
<footer> Someone famous in <cite title= "Source Title" > Source Title</cite></footer>
</blockquote>
จอแสดงผลสำรอง
เพิ่ม.blockquote-reverse
สำหรับ blockquote ที่มีเนื้อหาจัดชิดขวา
Lorem ipsum dolor sit amet, consectetur adipiscing elit. โลเรม อิปซัม โดลอร์ จำนวนเต็ม posuere erat ante
คนที่มีชื่อเสียงใน
Source Title
<blockquote class= "blockquote-reverse" >
...
</blockquote>
รายการ
ไม่เรียงลำดับ
รายการของรายการที่ไม่ สำคัญอย่างชัดเจน
ลอเรม อิปซัม ดอเลอร์ ซิท เอเม็ท
Consectetur adipiscing elit
จำนวนเต็ม โมเลสตี้ โลเร็ม ที่ มาสสา
สิ่งอำนวยความสะดวกใน pretium nisl aliquet
นุลลา โวลุตพัฒน์ อะลิควัม เวลิต
Phasellus iaculis neque
Purus sodales ultricies
Vestibulum laoreet porttitor sem
Ac tristique libero volutpat ที่
Faucibus porta lacus fringilla vel
อิเนียนนั่งเอรัต erat nunc
Eget porttitor lorem
<ul>
<li> ...</li>
</ul>
สั่งซื้อ
รายการสินค้าที่การสั่งซื้อมีความ สำคัญ อย่าง ชัดเจน
ลอเรม อิปซัม ดอเลอร์ ซิท เอเม็ท
Consectetur adipiscing elit
จำนวนเต็ม โมเลสตี้ โลเร็ม ที่ มาสสา
สิ่งอำนวยความสะดวกใน pretium nisl aliquet
นุลลา โวลุตพัฒน์ อะลิควัม เวลิต
Faucibus porta lacus fringilla vel
อิเนียนนั่งเอรัต erat nunc
Eget porttitor lorem
<ol>
<li> ...</li>
</ol>
ไม่มีสไตล์
ลบค่าเริ่มต้นlist-style
และระยะขอบซ้ายของรายการ (รายการย่อยเท่านั้น) ใช้ได้เฉพาะกับรายการย่อยในทันที ซึ่งหมายความว่าคุณจะต้องเพิ่มคลาสสำหรับรายการที่ซ้อนกันด้วยเช่นกัน
ลอเรม อิปซัม ดอเลอร์ ซิท เอเม็ท
Consectetur adipiscing elit
จำนวนเต็ม โมเลสตี้ โลเร็ม ที่ มาสสา
สิ่งอำนวยความสะดวกใน pretium nisl aliquet
นุลลา โวลุตพัฒน์ อะลิควัม เวลิต
Phasellus iaculis neque
Purus sodales ultricies
Vestibulum laoreet porttitor sem
Ac tristique libero volutpat ที่
Faucibus porta lacus fringilla vel
อิเนียนนั่งเอรัต erat nunc
Eget porttitor lorem
<ul class= "list-unstyled" >
<li> ...</li>
</ul>
อินไลน์
วางรายการทั้งหมดไว้ในบรรทัดเดียวด้วยdisplay: inline-block;
และช่องว่างภายในบางส่วน
ลอเรม อิปซัม
Phasellus iaculis
นุลลา โวลุตพัฒน์
<ul class= "list-inline" >
<li> ...</li>
</ul>
คำอธิบาย
รายการคำศัพท์พร้อมคำอธิบายที่เกี่ยวข้อง
รายการคำอธิบาย
รายการคำอธิบายเหมาะสำหรับการกำหนดเงื่อนไข
อุยมอด
ขนถ่าย id ligula porta felis euismod semper eget lacinia odio sem nec elit
Donec id elit non mi porta gravida ที่ eget metus
Malesuada porta
Etiam porta sem malesuada magna มอลลิส euismod
<dl>
<dt> ...</dt>
<dd> ...</dd>
</dl>
คำอธิบายแนวนอน
จัดทำข้อกำหนดและคำอธิบาย<dl>
เรียงต่อกัน เริ่มต้นแบบเรียงซ้อนเหมือนค่าเริ่มต้น<dl>
แต่เมื่อแถบนำทางขยาย ให้ทำสิ่งเหล่านี้
รายการคำอธิบาย
รายการคำอธิบายเหมาะสำหรับการกำหนดเงื่อนไข
อุยมอด
ขนถ่าย id ligula porta felis euismod semper eget lacinia odio sem nec elit
Donec id elit non mi porta gravida ที่ eget metus
Malesuada porta
Etiam porta sem malesuada magna มอลลิส euismod
เฟลิส euismod semper eget lacinia
Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo นั่ง amet risus
<dl class= "dl-horizontal" >
<dt> ...</dt>
<dd> ...</dd>
</dl>
ตัดทอนอัตโนมัติ
รายการคำอธิบายแนวนอนจะตัดคำที่ยาวเกินกว่าจะใส่ลงในคอลัมน์ด้านซ้ายtext-overflow
ด้วย ในวิวพอร์ตที่แคบลง พวกเขาจะเปลี่ยนเป็นเลย์เอาต์แบบเรียงซ้อนเริ่มต้น
อินไลน์
ตัดข้อมูลโค้ดแบบอินไลน์ด้วย<code>
.
ตัวอย่างเช่น
<section>
ควรห่อแบบอินไลน์
For example, <code> < section> </code> should be wrapped as inline.
ใช้<kbd>
เพื่อระบุอินพุตที่โดยปกติแล้วจะป้อนผ่านแป้นพิมพ์
หากต้องการเปลี่ยนไดเร็กทอรี ให้พิมพ์
cd ตามด้วยชื่อของไดเร็กทอรี
หากต้องการแก้ไขการตั้งค่า ให้กด
ctrl + ,
To switch directories, type <kbd> cd</kbd> followed by the name of the directory.<br>
To edit settings, press <kbd><kbd> ctrl</kbd> + <kbd> ,</kbd></kbd>
บล็อกพื้นฐาน
ใช้<pre>
สำหรับโค้ดหลายบรรทัด อย่าลืมหลีกเลี่ยงวงเล็บเหลี่ยมในโค้ดเพื่อการเรนเดอร์ที่เหมาะสม
<p>ตัวอย่างข้อความที่นี่...</p>
<pre> < p> Sample text here...< /p> </pre>
คุณสามารถเลือกเพิ่ม.pre-scrollable
คลาส ซึ่งจะตั้งค่าความสูงสูงสุด 350px และให้แถบเลื่อนแกน y
ตัวแปร
สำหรับการระบุตัวแปรให้ใช้<var>
แท็ก
<var> y</var> = <var> m</var><var> x</var> + <var> b</var>
ตัวอย่างผลลัพธ์
สำหรับการระบุบล็อคเอาต์พุตตัวอย่างจากโปรแกรม ให้ใช้<samp>
แท็ก
ข้อความนี้มีขึ้นเพื่อใช้เป็นตัวอย่างผลลัพธ์จากโปรแกรมคอมพิวเตอร์
<samp> This text is meant to be treated as sample output from a computer program.</samp>
ตัวอย่างพื้นฐาน
สำหรับการจัดรูปแบบพื้นฐาน—ช่องว่างภายในแบบเบาและเฉพาะตัวแบ่งแนวนอน—ให้เพิ่มคลาสฐาน.table
ให้กับ<table>
ไฟล์ . อาจดูซ้ำซากจำเจ แต่ด้วยการใช้ตารางอย่างแพร่หลายสำหรับปลั๊กอินอื่นๆ เช่น ปฏิทินและเครื่องมือเลือกวันที่ เราจึงเลือกที่จะแยกสไตล์ตารางที่กำหนดเองของเราออก
คำอธิบายตารางตัวเลือก
#
ชื่อจริง
นามสกุล
ชื่อผู้ใช้
1
เครื่องหมาย
อ็อตโต
@mdo
2
เจคอบ
ธอร์นตัน
@อ้วน
3
แลร์รี่
นก
@ทวิตเตอร์
<table class= "table" >
...
</table>
แถวลาย
ใช้.table-striped
เพื่อเพิ่มลายทางม้าลายให้กับแถวของตารางภายในไฟล์<tbody>
.
ความเข้ากันได้ข้ามเบราว์เซอร์
ตารางลายถูกกำหนดสไตล์โดยใช้:nth-child
ตัวเลือก CSS ซึ่งไม่มีใน Internet Explorer 8
#
ชื่อจริง
นามสกุล
ชื่อผู้ใช้
1
เครื่องหมาย
อ็อตโต
@mdo
2
เจคอบ
ธอร์นตัน
@อ้วน
3
แลร์รี่
นก
@ทวิตเตอร์
<table class= "table table-striped" >
...
</table>
ขอบโต๊ะ
เพิ่ม.table-bordered
เส้นขอบทุกด้านของตารางและเซลล์
#
ชื่อจริง
นามสกุล
ชื่อผู้ใช้
1
เครื่องหมาย
อ็อตโต
@mdo
2
เจคอบ
ธอร์นตัน
@อ้วน
3
แลร์รี่
นก
@ทวิตเตอร์
<table class= "table table-bordered" >
...
</table>
เลื่อนแถว
เพิ่ม.table-hover
เพื่อเปิดใช้งานสถานะโฮเวอร์บนแถวของตารางภายในไฟล์<tbody>
.
#
ชื่อจริง
นามสกุล
ชื่อผู้ใช้
1
เครื่องหมาย
อ็อตโต
@mdo
2
เจคอบ
ธอร์นตัน
@อ้วน
3
แลร์รี่
นก
@ทวิตเตอร์
<table class= "table table-hover" >
...
</table>
โต๊ะควบแน่น
เพิ่ม.table-condensed
เพื่อทำให้ตารางมีขนาดเล็กลงโดยการตัดเซลล์บุรองไว้ครึ่งหนึ่ง
#
ชื่อจริง
นามสกุล
ชื่อผู้ใช้
1
เครื่องหมาย
อ็อตโต
@mdo
2
เจคอบ
ธอร์นตัน
@อ้วน
3
ลาร์รีเดอะเบิร์ด
@ทวิตเตอร์
<table class= "table table-condensed" >
...
</table>
ชั้นเรียนตามบริบท
ใช้คลาสตามบริบทเพื่อระบายสีแถวตารางหรือแต่ละเซลล์
ระดับ
คำอธิบาย
.active
นำสีโฮเวอร์ไปใช้กับแถวหรือเซลล์ที่ต้องการ
.success
บ่งบอกถึงความสำเร็จหรือการกระทำในเชิงบวก
.info
บ่งชี้การเปลี่ยนแปลงหรือการกระทำข้อมูลที่เป็นกลาง
.warning
ระบุคำเตือนที่อาจต้องให้ความสนใจ
.danger
บ่งบอกถึงการกระทำที่เป็นอันตรายหรืออาจเป็นลบ
#
ส่วนหัวของคอลัมน์
ส่วนหัวของคอลัมน์
ส่วนหัวของคอลัมน์
1
เนื้อหาคอลัมน์
เนื้อหาคอลัมน์
เนื้อหาคอลัมน์
2
เนื้อหาคอลัมน์
เนื้อหาคอลัมน์
เนื้อหาคอลัมน์
3
เนื้อหาคอลัมน์
เนื้อหาคอลัมน์
เนื้อหาคอลัมน์
4
เนื้อหาคอลัมน์
เนื้อหาคอลัมน์
เนื้อหาคอลัมน์
5
เนื้อหาคอลัมน์
เนื้อหาคอลัมน์
เนื้อหาคอลัมน์
6
เนื้อหาคอลัมน์
เนื้อหาคอลัมน์
เนื้อหาคอลัมน์
7
เนื้อหาคอลัมน์
เนื้อหาคอลัมน์
เนื้อหาคอลัมน์
8
เนื้อหาคอลัมน์
เนื้อหาคอลัมน์
เนื้อหาคอลัมน์
9
เนื้อหาคอลัมน์
เนื้อหาคอลัมน์
เนื้อหาคอลัมน์
<!-- On rows -->
<tr class= "active" > ...</tr>
<tr class= "success" > ...</tr>
<tr class= "warning" > ...</tr>
<tr class= "danger" > ...</tr>
<tr class= "info" > ...</tr>
<!-- On cells (`td` or `th`) -->
<tr>
<td class= "active" > ...</td>
<td class= "success" > ...</td>
<td class= "warning" > ...</td>
<td class= "danger" > ...</td>
<td class= "info" > ...</td>
</tr>
ถ่ายทอดความหมายสู่เทคโนโลยีอำนวยความสะดวก
การใช้สีเพื่อเพิ่มความหมายให้กับแถวของตารางหรือแต่ละเซลล์เป็นเพียงการแสดงภาพเท่านั้น ซึ่งจะไม่ถูกถ่ายทอดไปยังผู้ใช้เทคโนโลยีอำนวยความสะดวก เช่น โปรแกรมอ่านหน้าจอ ตรวจสอบให้แน่ใจว่าข้อมูลที่แสดงด้วยสีนั้นชัดเจนจากตัวเนื้อหาเอง (ข้อความที่มองเห็นได้ในแถว/เซลล์ของตารางที่เกี่ยวข้อง) หรือรวมไว้ด้วยวิธีการอื่น เช่น ข้อความเพิ่มเติมที่ซ่อนอยู่ใน.sr-only
ชั้นเรียน
ตารางตอบสนอง
สร้างตารางที่ตอบสนองโดยการใส่ส่วนใดก็ได้เพื่อให้เลื่อนในแนวนอนบนอุปกรณ์ขนาดเล็ก (ต่ำกว่า 768px .table
) .table-responsive
เมื่อดูบนสิ่งที่กว้างกว่า 768px คุณจะไม่เห็นความแตกต่างในตารางเหล่านี้
การตัด/การตัดในแนวตั้ง
ตารางที่ปรับเปลี่ยนตามอุปกรณ์ใช้ประโยชน์จากoverflow-y: hidden
ซึ่งตัดเนื้อหาใดๆ ที่เกินขอบด้านล่างหรือขอบด้านบนของตาราง โดยเฉพาะอย่างยิ่งสิ่งนี้สามารถตัดเมนูแบบเลื่อนลงและวิดเจ็ตของบุคคลที่สามอื่น ๆ
Firefox และ fieldsets
Firefox มีรูปแบบชุดฟิลด์ที่น่าอึดอัดใจwidth
ซึ่งขัดขวางตารางตอบสนอง สิ่งนี้ไม่สามารถแทนที่ได้หากไม่มีแฮ็คเฉพาะของ Firefox ที่เราไม่ได้ ให้ไว้ใน Bootstrap:
@-moz-document url-prefix () {
fieldset { display : table-cell ; }
}
สำหรับข้อมูลเพิ่มเติม อ่านคำตอบ Stack Overflow
#
หัวตาราง
หัวตาราง
หัวตาราง
หัวตาราง
หัวตาราง
หัวตาราง
1
เซลล์ตาราง
เซลล์ตาราง
เซลล์ตาราง
เซลล์ตาราง
เซลล์ตาราง
เซลล์ตาราง
2
เซลล์ตาราง
เซลล์ตาราง
เซลล์ตาราง
เซลล์ตาราง
เซลล์ตาราง
เซลล์ตาราง
3
เซลล์ตาราง
เซลล์ตาราง
เซลล์ตาราง
เซลล์ตาราง
เซลล์ตาราง
เซลล์ตาราง
#
หัวตาราง
หัวตาราง
หัวตาราง
หัวตาราง
หัวตาราง
หัวตาราง
1
เซลล์ตาราง
เซลล์ตาราง
เซลล์ตาราง
เซลล์ตาราง
เซลล์ตาราง
เซลล์ตาราง
2
เซลล์ตาราง
เซลล์ตาราง
เซลล์ตาราง
เซลล์ตาราง
เซลล์ตาราง
เซลล์ตาราง
3
เซลล์ตาราง
เซลล์ตาราง
เซลล์ตาราง
เซลล์ตาราง
เซลล์ตาราง
เซลล์ตาราง
<div class= "table-responsive" >
<table class= "table" >
...
</table>
</div>
การควบคุมแบบฟอร์มแต่ละรายการจะได้รับสไตล์สากลบางส่วนโดยอัตโนมัติ ข้อความทั้งหมด<input>
, <textarea>
, และ<select>
องค์ประกอบที่มี.form-control
ถูกกำหนดเป็นค่าwidth: 100%;
เริ่มต้น ติด ฉลากและส่วนควบคุม.form-group
เพื่อให้มีระยะห่างที่เหมาะสมที่สุด
<form>
<div class= "form-group" >
<label for= "exampleInputEmail1" > Email address</label>
<input type= "email" class= "form-control" id= "exampleInputEmail1" placeholder= "Email" >
</div>
<div class= "form-group" >
<label for= "exampleInputPassword1" > Password</label>
<input type= "password" class= "form-control" id= "exampleInputPassword1" placeholder= "Password" >
</div>
<div class= "form-group" >
<label for= "exampleInputFile" > File input</label>
<input type= "file" id= "exampleInputFile" >
<p class= "help-block" > Example block-level help text here.</p>
</div>
<div class= "checkbox" >
<label>
<input type= "checkbox" > Check me out
</label>
</div>
<button type= "submit" class= "btn btn-default" > Submit</button>
</form>
เพิ่ม.form-inline
ในแบบฟอร์มของคุณ (ซึ่งไม่จำเป็นต้องเป็น<form>
) สำหรับการควบคุมแบบชิดซ้ายและแบบอินไลน์บล็อก ใช้ได้เฉพาะกับฟอร์มภายในวิวพอร์ตที่มีความกว้างอย่างน้อย 768px
<form class= "form-inline" >
<div class= "form-group" >
<label for= "exampleInputName2" > Name</label>
<input type= "text" class= "form-control" id= "exampleInputName2" placeholder= "Jane Doe" >
</div>
<div class= "form-group" >
<label for= "exampleInputEmail2" > Email</label>
<input type= "email" class= "form-control" id= "exampleInputEmail2" placeholder= "[email protected] " >
</div>
<button type= "submit" class= "btn btn-default" > Send invitation</button>
</form>
<form class= "form-inline" >
<div class= "form-group" >
<label class= "sr-only" for= "exampleInputEmail3" > Email address</label>
<input type= "email" class= "form-control" id= "exampleInputEmail3" placeholder= "Email" >
</div>
<div class= "form-group" >
<label class= "sr-only" for= "exampleInputPassword3" > Password</label>
<input type= "password" class= "form-control" id= "exampleInputPassword3" placeholder= "Password" >
</div>
<div class= "checkbox" >
<label>
<input type= "checkbox" > Remember me
</label>
</div>
<button type= "submit" class= "btn btn-default" > Sign in</button>
</form>
<form class= "form-inline" >
<div class= "form-group" >
<label class= "sr-only" for= "exampleInputAmount" > Amount (in dollars)</label>
<div class= "input-group" >
<div class= "input-group-addon" > $</div>
<input type= "text" class= "form-control" id= "exampleInputAmount" placeholder= "Amount" >
<div class= "input-group-addon" > .00</div>
</div>
</div>
<button type= "submit" class= "btn btn-primary" > Transfer cash</button>
</form>
ใช้คลาสกริดที่กำหนดไว้ล่วงหน้าของ Bootstrap เพื่อจัดแนวป้ายชื่อและกลุ่มของตัวควบคุมแบบฟอร์มในเค้าโครงแนวนอนโดยเพิ่ม.form-horizontal
ลงในแบบฟอร์ม (ซึ่งไม่จำเป็นต้องเป็น<form>
) การทำเช่นนี้จะเปลี่ยน.form-group
การทำงานเป็นแถวกริด ดังนั้นจึงไม่จำเป็นต้องใช้.row
.
<form class= "form-horizontal" >
<div class= "form-group" >
<label for= "inputEmail3" class= "col-sm-2 control-label" > Email</label>
<div class= "col-sm-10" >
<input type= "email" class= "form-control" id= "inputEmail3" placeholder= "Email" >
</div>
</div>
<div class= "form-group" >
<label for= "inputPassword3" class= "col-sm-2 control-label" > Password</label>
<div class= "col-sm-10" >
<input type= "password" class= "form-control" id= "inputPassword3" placeholder= "Password" >
</div>
</div>
<div class= "form-group" >
<div class= "col-sm-offset-2 col-sm-10" >
<div class= "checkbox" >
<label>
<input type= "checkbox" > Remember me
</label>
</div>
</div>
</div>
<div class= "form-group" >
<div class= "col-sm-offset-2 col-sm-10" >
<button type= "submit" class= "btn btn-default" > Sign in</button>
</div>
</div>
</form>
ตัวอย่างของตัวควบคุมฟอร์มมาตรฐานที่สนับสนุนในเค้าโครงแบบฟอร์มตัวอย่าง
อินพุต
การควบคุมแบบฟอร์มที่พบบ่อยที่สุด ฟิลด์ป้อนข้อมูลแบบข้อความ รวมการสนับสนุน HTML5 ทุกประเภท: text
, password
, datetime
, datetime-local
, date
, month
, time
, week
, number
, email
, url
, search
, , tel
และcolor
<input type= "text" class= "form-control" placeholder= "Text input" >
Textarea
การควบคุมแบบฟอร์มที่รองรับข้อความหลายบรรทัด เปลี่ยนrows
แอตทริบิวต์ตามความจำเป็น
<textarea class= "form-control" rows= "3" ></textarea>
ช่องทำเครื่องหมายและวิทยุ
ช่องทำเครื่องหมายมีไว้สำหรับเลือกหนึ่งตัวเลือกหรือหลายตัวเลือกในรายการ ในขณะที่วิทยุมีไว้สำหรับเลือกตัวเลือกหนึ่งตัวเลือกจากหลายตัวเลือก
รองรับช่องทำเครื่องหมายและวิทยุที่ปิดใช้งาน แต่เพื่อให้เคอร์เซอร์ "ไม่อนุญาต" บนโฮเวอร์ของ<label>
พาเรนต์ คุณจะต้องเพิ่ม.disabled
คลาสใน พาเรน ต์.radio
, .radio-inline
, .checkbox
, หรือ.checkbox-inline
ค่าเริ่มต้น (ซ้อน)
<div class= "checkbox" >
<label>
<input type= "checkbox" value= "" >
Option one is this and that— be sure to include why it's great
</label>
</div>
<div class= "checkbox disabled" >
<label>
<input type= "checkbox" value= "" disabled >
Option two is disabled
</label>
</div>
<div class= "radio" >
<label>
<input type= "radio" name= "optionsRadios" id= "optionsRadios1" value= "option1" checked >
Option one is this and that— be sure to include why it's great
</label>
</div>
<div class= "radio" >
<label>
<input type= "radio" name= "optionsRadios" id= "optionsRadios2" value= "option2" >
Option two can be something else and selecting it will deselect option one
</label>
</div>
<div class= "radio disabled" >
<label>
<input type= "radio" name= "optionsRadios" id= "optionsRadios3" value= "option3" disabled >
Option three is disabled
</label>
</div>
ช่องทำเครื่องหมายและวิทยุแบบอินไลน์
ใช้.checkbox-inline
or .radio-inline
กับชุดของช่องทำเครื่องหมายหรือวิทยุสำหรับตัวควบคุมที่ปรากฏในบรรทัดเดียวกัน
1
2
3
1
2
3
<label class= "checkbox-inline" >
<input type= "checkbox" id= "inlineCheckbox1" value= "option1" > 1
</label>
<label class= "checkbox-inline" >
<input type= "checkbox" id= "inlineCheckbox2" value= "option2" > 2
</label>
<label class= "checkbox-inline" >
<input type= "checkbox" id= "inlineCheckbox3" value= "option3" > 3
</label>
<label class= "radio-inline" >
<input type= "radio" name= "inlineRadioOptions" id= "inlineRadio1" value= "option1" > 1
</label>
<label class= "radio-inline" >
<input type= "radio" name= "inlineRadioOptions" id= "inlineRadio2" value= "option2" > 2
</label>
<label class= "radio-inline" >
<input type= "radio" name= "inlineRadioOptions" id= "inlineRadio3" value= "option3" > 3
</label>
ช่องทำเครื่องหมายและวิทยุที่ไม่มีข้อความป้ายกำกับ
หากคุณไม่มีข้อความอยู่ภายใน<label>
อินพุตจะถูกจัดตำแหน่งตามที่คุณคาดหวัง ขณะนี้ใช้งานได้เฉพาะกับช่องทำเครื่องหมายและวิทยุที่ไม่ใช่แบบอินไลน์ อย่าลืมเตรียมฉลากบางรูปแบบสำหรับเทคโนโลยีอำนวยความสะดวก (เช่น การใช้aria-label
)
<div class= "checkbox" >
<label>
<input type= "checkbox" id= "blankCheckbox" value= "option1" aria-label= "..." >
</label>
</div>
<div class= "radio" >
<label>
<input type= "radio" name= "blankRadio" id= "blankRadio1" value= "option1" aria-label= "..." >
</label>
</div>
เลือก
โปรดทราบว่าเมนูเลือกแบบเนทีฟจำนวนมาก เช่น ใน Safari และ Chrome มีมุมมนที่ไม่สามารถแก้ไขได้ผ่านborder-radius
คุณสมบัติ
1 2 3 4 5
<select class= "form-control" >
<option> 1</option>
<option> 2</option>
<option> 3</option>
<option> 4</option>
<option> 5</option>
</select>
สำหรับ<select>
การควบคุมที่มีmultiple
แอตทริบิวต์ หลายตัวเลือกจะแสดงตามค่าเริ่มต้น
1 2 3 4 5
<select multiple class= "form-control" >
<option> 1</option>
<option> 2</option>
<option> 3</option>
<option> 4</option>
<option> 5</option>
</select>
เมื่อคุณต้องการวางข้อความธรรมดาถัดจากป้ายชื่อแบบฟอร์มภายในแบบฟอร์ม ให้ใช้.form-control-static
ชั้นเรียนในไฟล์<p>
.
<form class= "form-horizontal" >
<div class= "form-group" >
<label class= "col-sm-2 control-label" > Email</label>
<div class= "col-sm-10" >
<p class= "form-control-static" > [email protected] </p>
</div>
</div>
<div class= "form-group" >
<label for= "inputPassword" class= "col-sm-2 control-label" > Password</label>
<div class= "col-sm-10" >
<input type= "password" class= "form-control" id= "inputPassword" placeholder= "Password" >
</div>
</div>
</form>
<form class= "form-inline" >
<div class= "form-group" >
<label class= "sr-only" > Email</label>
<p class= "form-control-static" > [email protected] </p>
</div>
<div class= "form-group" >
<label for= "inputPassword2" class= "sr-only" > Password</label>
<input type= "password" class= "form-control" id= "inputPassword2" placeholder= "Password" >
</div>
<button type= "submit" class= "btn btn-default" > Confirm identity</button>
</form>
เราลบoutline
สไตล์เริ่มต้นของตัวควบคุมฟอร์มบางตัวและใช้ a box-shadow
แทนสำหรับ:focus
.
:focus
สถานะสาธิต
ตัวอย่างอินพุตด้านบนใช้สไตล์ที่กำหนดเองในเอกสารประกอบของเราเพื่อแสดง:focus
สถานะในไฟล์.form-control
.
เพิ่มdisabled
แอตทริบิวต์บูลีนบนอินพุตเพื่อป้องกันการโต้ตอบของผู้ใช้ อินพุตที่ปิดใช้งานจะสว่างขึ้นและเพิ่มnot-allowed
เคอร์เซอร์
<input class= "form-control" id= "disabledInput" type= "text" placeholder= "Disabled input here..." disabled >
เพิ่มdisabled
แอตทริบิวต์เพื่อ<fieldset>
ปิดใช้งานการควบคุมทั้งหมดภายใน<fieldset>
ครั้งเดียว
คำเตือนเกี่ยวกับฟังก์ชันลิงก์ของ<a>
ตามค่าเริ่มต้น เบราว์เซอร์จะถือว่าตัวควบคุมฟอร์มดั้งเดิมทั้งหมด ( <input>
, <select>
และ<button>
องค์ประกอบ) ภายใน a <fieldset disabled>
ถูกปิดใช้งาน ป้องกันไม่ให้มีการโต้ตอบระหว่างแป้นพิมพ์และเมาส์ อย่างไรก็ตาม หากแบบฟอร์มของคุณมี<a ... class="btn btn-*">
องค์ประกอบด้วย สิ่งเหล่านี้จะได้รับสไตล์เป็นpointer-events: none
เท่านั้น ตามที่ระบุไว้ในส่วนเกี่ยวกับสถานะปิดใช้งานสำหรับปุ่ม (และโดยเฉพาะในส่วนย่อยสำหรับองค์ประกอบจุดยึด) คุณสมบัติ CSS นี้ยังไม่ได้รับมาตรฐานและไม่ได้รับการสนับสนุนอย่างเต็มที่ใน Opera 18 และต่ำกว่า หรือใน Internet Explorer 11 และได้รับรางวัล ไม่ได้ป้องกันไม่ให้ผู้ใช้แป้นพิมพ์สามารถโฟกัสหรือเปิดใช้งานลิงก์เหล่านี้ได้ เพื่อความปลอดภัย ให้ใช้ JavaScript ที่กำหนดเองเพื่อปิดใช้งานลิงก์ดังกล่าว
ความเข้ากันได้ข้ามเบราว์เซอร์
แม้ว่า Bootstrap จะใช้สไตล์เหล่านี้กับทุกเบราว์เซอร์ แต่ Internet Explorer 11 และต่ำกว่านั้นไม่รองรับdisabled
แอตทริบิวต์ในไฟล์<fieldset>
. ใช้ JavaScript ที่กำหนดเองเพื่อปิดใช้งาน fieldset ในเบราว์เซอร์เหล่านี้
<form>
<fieldset disabled >
<div class= "form-group" >
<label for= "disabledTextInput" > Disabled input</label>
<input type= "text" id= "disabledTextInput" class= "form-control" placeholder= "Disabled input" >
</div>
<div class= "form-group" >
<label for= "disabledSelect" > Disabled select menu</label>
<select id= "disabledSelect" class= "form-control" >
<option> Disabled select</option>
</select>
</div>
<div class= "checkbox" >
<label>
<input type= "checkbox" > Can't check this
</label>
</div>
<button type= "submit" class= "btn btn-primary" > Submit</button>
</fieldset>
</form>
เพิ่มreadonly
แอตทริบิวต์บูลีนบนอินพุตเพื่อป้องกันการแก้ไขค่าของอินพุต อินพุตแบบอ่านอย่างเดียวจะสว่างกว่า (เช่นเดียวกับอินพุตที่ปิดใช้งาน) แต่ยังคงเคอร์เซอร์มาตรฐานไว้
<input class= "form-control" type= "text" placeholder= "Readonly input here…" readonly >
ข้อความช่วยเหลือ
ข้อความช่วยเหลือระดับบล็อกสำหรับการควบคุมฟอร์ม
การเชื่อมโยงข้อความช่วยเหลือกับการควบคุมแบบฟอร์ม
ข้อความช่วยเหลือควรเชื่อมโยงอย่างชัดเจนกับตัวควบคุมแบบฟอร์มที่เกี่ยวข้องกับการใช้aria-describedby
แอตทริบิวต์ เพื่อให้แน่ใจว่าเทคโนโลยีอำนวยความสะดวก เช่น โปรแกรมอ่านหน้าจอ จะประกาศข้อความช่วยเหลือนี้เมื่อผู้ใช้โฟกัสหรือเข้าสู่การควบคุม
<label class= "sr-only" for= "inputHelpBlock" > Input with help text</label>
<input type= "text" id= "inputHelpBlock" class= "form-control" aria-describedby= "helpBlock" >
...
<span id= "helpBlock" class= "help-block" > A block of help text that breaks onto a new line and may extend beyond one line.</span>
Bootstrap มีสไตล์การตรวจสอบสำหรับสถานะข้อผิดพลาด คำเตือน และความสำเร็จบนตัวควบคุมฟอร์ม เพื่อใช้ เพิ่ม.has-warning
, .has-error
หรือ.has-success
องค์ประกอบหลัก ใดๆ.control-label
, .form-control
และ.help-block
ภายในองค์ประกอบนั้นจะได้รับรูปแบบการตรวจสอบความถูกต้อง
<div class= "form-group has-success" >
<label class= "control-label" for= "inputSuccess1" > Input with success</label>
<input type= "text" class= "form-control" id= "inputSuccess1" aria-describedby= "helpBlock2" >
<span id= "helpBlock2" class= "help-block" > A block of help text that breaks onto a new line and may extend beyond one line.</span>
</div>
<div class= "form-group has-warning" >
<label class= "control-label" for= "inputWarning1" > Input with warning</label>
<input type= "text" class= "form-control" id= "inputWarning1" >
</div>
<div class= "form-group has-error" >
<label class= "control-label" for= "inputError1" > Input with error</label>
<input type= "text" class= "form-control" id= "inputError1" >
</div>
<div class= "has-success" >
<div class= "checkbox" >
<label>
<input type= "checkbox" id= "checkboxSuccess" value= "option1" >
Checkbox with success
</label>
</div>
</div>
<div class= "has-warning" >
<div class= "checkbox" >
<label>
<input type= "checkbox" id= "checkboxWarning" value= "option1" >
Checkbox with warning
</label>
</div>
</div>
<div class= "has-error" >
<div class= "checkbox" >
<label>
<input type= "checkbox" id= "checkboxError" value= "option1" >
Checkbox with error
</label>
</div>
</div>
พร้อมไอคอนเสริม
คุณยังสามารถเพิ่มไอคอนคำติชมที่เป็นตัวเลือกได้ด้วยการเพิ่ม.has-feedback
และไอคอนด้านขวา
ไอคอนคำติชมใช้งานได้กับ<input class="form-control">
องค์ประกอบที่เป็นข้อความเท่านั้น
ไอคอน ป้ายกำกับ และกลุ่มอินพุต
จำเป็นต้องมีการวางตำแหน่งไอคอนคำติชมด้วยตนเองสำหรับอินพุตที่ไม่มีป้ายกำกับ และสำหรับกลุ่มอินพุตที่ มีส่วนเสริมทางด้านขวา ขอแนะนำให้คุณระบุป้ายกำกับสำหรับอินพุตทั้งหมดด้วยเหตุผลด้านการเข้าถึง หากคุณต้องการป้องกันไม่ให้มีการแสดงป้ายกำกับ ให้ซ่อนไว้กับ.sr-only
ชั้นเรียน หากคุณต้องทำโดยไม่มีป้ายกำกับ ให้ปรับtop
ค่าของไอคอนคำติชม สำหรับกลุ่มอินพุต ให้ปรับright
ค่าเป็นค่าพิกเซลที่เหมาะสมโดยขึ้นอยู่กับความกว้างของส่วนเสริมของคุณ
ถ่ายทอดความหมายของไอคอนสู่เทคโนโลยีอำนวยความสะดวก
เพื่อให้แน่ใจว่าเทคโนโลยีอำนวยความสะดวก เช่น โปรแกรมอ่านหน้าจอ สื่อความหมายของไอคอนได้อย่างถูกต้อง ควรรวมข้อความที่ซ่อนอยู่เพิ่มเติมใน.sr-only
ชั้นเรียน และเชื่อมโยงอย่างชัดเจนกับตัวควบคุมแบบฟอร์มที่เกี่ยวข้องกับการaria-describedby
ใช้ อีกทางหนึ่ง ตรวจสอบให้แน่ใจว่าความหมาย (เช่น ความจริงที่ว่ามีคำเตือนสำหรับฟิลด์ป้อนข้อความเฉพาะ) ถูกถ่ายทอดในรูปแบบอื่น เช่น การเปลี่ยนข้อความของข้อมูลจริงที่<label>
เกี่ยวข้องกับตัวควบคุมฟอร์ม
แม้ว่าตัวอย่างต่อไปนี้จะกล่าวถึงสถานะการตรวจสอบความถูกต้องของตัวควบคุมแบบฟอร์มที่เกี่ยวข้องใน<label>
ข้อความแล้วก็ตาม เทคนิคข้างต้น (โดยใช้.sr-only
ข้อความ และaria-describedby
) ได้รวมไว้เพื่อจุดประสงค์ในการอธิบาย
<div class= "form-group has-success has-feedback" >
<label class= "control-label" for= "inputSuccess2" > Input with success</label>
<input type= "text" class= "form-control" id= "inputSuccess2" aria-describedby= "inputSuccess2Status" >
<span class= "glyphicon glyphicon-ok form-control-feedback" aria-hidden= "true" ></span>
<span id= "inputSuccess2Status" class= "sr-only" > (success)</span>
</div>
<div class= "form-group has-warning has-feedback" >
<label class= "control-label" for= "inputWarning2" > Input with warning</label>
<input type= "text" class= "form-control" id= "inputWarning2" aria-describedby= "inputWarning2Status" >
<span class= "glyphicon glyphicon-warning-sign form-control-feedback" aria-hidden= "true" ></span>
<span id= "inputWarning2Status" class= "sr-only" > (warning)</span>
</div>
<div class= "form-group has-error has-feedback" >
<label class= "control-label" for= "inputError2" > Input with error</label>
<input type= "text" class= "form-control" id= "inputError2" aria-describedby= "inputError2Status" >
<span class= "glyphicon glyphicon-remove form-control-feedback" aria-hidden= "true" ></span>
<span id= "inputError2Status" class= "sr-only" > (error)</span>
</div>
<div class= "form-group has-success has-feedback" >
<label class= "control-label" for= "inputGroupSuccess1" > Input group with success</label>
<div class= "input-group" >
<span class= "input-group-addon" > @</span>
<input type= "text" class= "form-control" id= "inputGroupSuccess1" aria-describedby= "inputGroupSuccess1Status" >
</div>
<span class= "glyphicon glyphicon-ok form-control-feedback" aria-hidden= "true" ></span>
<span id= "inputGroupSuccess1Status" class= "sr-only" > (success)</span>
</div>
ไอคอนเสริมในรูปแบบแนวนอนและอินไลน์
<form class= "form-horizontal" >
<div class= "form-group has-success has-feedback" >
<label class= "control-label col-sm-3" for= "inputSuccess3" > Input with success</label>
<div class= "col-sm-9" >
<input type= "text" class= "form-control" id= "inputSuccess3" aria-describedby= "inputSuccess3Status" >
<span class= "glyphicon glyphicon-ok form-control-feedback" aria-hidden= "true" ></span>
<span id= "inputSuccess3Status" class= "sr-only" > (success)</span>
</div>
</div>
<div class= "form-group has-success has-feedback" >
<label class= "control-label col-sm-3" for= "inputGroupSuccess2" > Input group with success</label>
<div class= "col-sm-9" >
<div class= "input-group" >
<span class= "input-group-addon" > @</span>
<input type= "text" class= "form-control" id= "inputGroupSuccess2" aria-describedby= "inputGroupSuccess2Status" >
</div>
<span class= "glyphicon glyphicon-ok form-control-feedback" aria-hidden= "true" ></span>
<span id= "inputGroupSuccess2Status" class= "sr-only" > (success)</span>
</div>
</div>
</form>
<form class= "form-inline" >
<div class= "form-group has-success has-feedback" >
<label class= "control-label" for= "inputSuccess4" > Input with success</label>
<input type= "text" class= "form-control" id= "inputSuccess4" aria-describedby= "inputSuccess4Status" >
<span class= "glyphicon glyphicon-ok form-control-feedback" aria-hidden= "true" ></span>
<span id= "inputSuccess4Status" class= "sr-only" > (success)</span>
</div>
</form>
<form class= "form-inline" >
<div class= "form-group has-success has-feedback" >
<label class= "control-label" for= "inputGroupSuccess3" > Input group with success</label>
<div class= "input-group" >
<span class= "input-group-addon" > @</span>
<input type= "text" class= "form-control" id= "inputGroupSuccess3" aria-describedby= "inputGroupSuccess3Status" >
</div>
<span class= "glyphicon glyphicon-ok form-control-feedback" aria-hidden= "true" ></span>
<span id= "inputGroupSuccess3Status" class= "sr-only" > (success)</span>
</div>
</form>
ไอคอนเสริมพร้อม.sr-only
ป้ายกำกับ ที่ซ่อนอยู่
หากคุณใช้.sr-only
คลาสเพื่อซ่อนตัวควบคุมฟอร์ม<label>
(แทนที่จะใช้ตัวเลือกการติดป้ายกำกับอื่น ๆ เช่นaria-label
แอตทริบิวต์) Bootstrap จะปรับตำแหน่งของไอคอนโดยอัตโนมัติเมื่อเพิ่มเข้าไปแล้ว
<div class= "form-group has-success has-feedback" >
<label class= "control-label sr-only" for= "inputSuccess5" > Hidden label</label>
<input type= "text" class= "form-control" id= "inputSuccess5" aria-describedby= "inputSuccess5Status" >
<span class= "glyphicon glyphicon-ok form-control-feedback" aria-hidden= "true" ></span>
<span id= "inputSuccess5Status" class= "sr-only" > (success)</span>
</div>
<div class= "form-group has-success has-feedback" >
<label class= "control-label sr-only" for= "inputGroupSuccess4" > Input group with success</label>
<div class= "input-group" >
<span class= "input-group-addon" > @</span>
<input type= "text" class= "form-control" id= "inputGroupSuccess4" aria-describedby= "inputGroupSuccess4Status" >
</div>
<span class= "glyphicon glyphicon-ok form-control-feedback" aria-hidden= "true" ></span>
<span id= "inputGroupSuccess4Status" class= "sr-only" > (success)</span>
</div>
กำหนดความสูงโดยใช้คลาสเช่น.input-lg
และกำหนดความกว้างโดยใช้คลาสคอลัมน์กริด.col-lg-*
เช่น
ขนาดความสูง
สร้างตัวควบคุมฟอร์มที่ยาวขึ้นหรือสั้นลงซึ่งตรงกับขนาดของปุ่ม
<input class= "form-control input-lg" type= "text" placeholder= ".input-lg" >
<input class= "form-control" type= "text" placeholder= "Default input" >
<input class= "form-control input-sm" type= "text" placeholder= ".input-sm" >
<select class= "form-control input-lg" > ...</select>
<select class= "form-control" > ...</select>
<select class= "form-control input-sm" > ...</select>
ขนาดกลุ่มแบบฟอร์มแนวนอน
ปรับขนาดป้ายชื่อและตัวควบคุมแบบฟอร์มภายในอย่างรวดเร็วโดย.form-horizontal
การเพิ่ม.form-group-lg
หรือ.form-group-sm
<form class= "form-horizontal" >
<div class= "form-group form-group-lg" >
<label class= "col-sm-2 control-label" for= "formGroupInputLarge" > Large label</label>
<div class= "col-sm-10" >
<input class= "form-control" type= "text" id= "formGroupInputLarge" placeholder= "Large input" >
</div>
</div>
<div class= "form-group form-group-sm" >
<label class= "col-sm-2 control-label" for= "formGroupInputSmall" > Small label</label>
<div class= "col-sm-10" >
<input class= "form-control" type= "text" id= "formGroupInputSmall" placeholder= "Small input" >
</div>
</div>
</form>
ขนาดคอลัมน์
ล้อมอินพุตในคอลัมน์กริดหรือองค์ประกอบพาเรนต์ที่กำหนดเองใดๆ เพื่อบังคับใช้ความกว้างที่ต้องการได้อย่างง่ายดาย
<div class= "row" >
<div class= "col-xs-2" >
<input type= "text" class= "form-control" placeholder= ".col-xs-2" >
</div>
<div class= "col-xs-3" >
<input type= "text" class= "form-control" placeholder= ".col-xs-3" >
</div>
<div class= "col-xs-4" >
<input type= "text" class= "form-control" placeholder= ".col-xs-4" >
</div>
</div>
ใช้คลาสปุ่มบนองค์ประกอบ<a>
, <button>
, หรือ<input>
ลิงค์
ปุ่ม
<a class= "btn btn-default" href= "#" role= "button" > Link</a>
<button class= "btn btn-default" type= "submit" > Button</button>
<input class= "btn btn-default" type= "button" value= "Input" >
<input class= "btn btn-default" type= "submit" value= "Submit" >
การใช้งานเฉพาะบริบท
แม้ว่าคลาสของปุ่มจะใช้ได้<a>
และ<button>
องค์ประกอบ แต่<button>
รองรับเฉพาะองค์ประกอบภายในคอมโพเนนต์ nav และ navbar ของเรา
ใช้คลาสปุ่มที่มีอยู่เพื่อสร้างปุ่มที่มีสไตล์อย่างรวดเร็ว
ค่าเริ่มต้น
หลัก
ความสำเร็จ
ข้อมูล
คำเตือน
อันตราย
ลิงค์
<!-- Standard button -->
<button type= "button" class= "btn btn-default" > Default</button>
<!-- Provides extra visual weight and identifies the primary action in a set of buttons -->
<button type= "button" class= "btn btn-primary" > Primary</button>
<!-- Indicates a successful or positive action -->
<button type= "button" class= "btn btn-success" > Success</button>
<!-- Contextual button for informational alert messages -->
<button type= "button" class= "btn btn-info" > Info</button>
<!-- Indicates caution should be taken with this action -->
<button type= "button" class= "btn btn-warning" > Warning</button>
<!-- Indicates a dangerous or potentially negative action -->
<button type= "button" class= "btn btn-danger" > Danger</button>
<!-- Deemphasize a button by making it look like a link while maintaining button behavior -->
<button type= "button" class= "btn btn-link" > Link</button>
แฟนซีปุ่มขนาดใหญ่หรือเล็ก? เพิ่ม.btn-lg
, .btn-sm
หรือ.btn-xs
สำหรับขนาดเพิ่มเติม
ปุ่มขนาดใหญ่ ปุ่มขนาดใหญ่
ปุ่มเริ่มต้น ปุ่มเริ่มต้น
ปุ่มเล็ก ปุ่มเล็ก
ปุ่มเล็กพิเศษ ปุ่มเล็กพิเศษ
<p>
<button type= "button" class= "btn btn-primary btn-lg" > Large button</button>
<button type= "button" class= "btn btn-default btn-lg" > Large button</button>
</p>
<p>
<button type= "button" class= "btn btn-primary" > Default button</button>
<button type= "button" class= "btn btn-default" > Default button</button>
</p>
<p>
<button type= "button" class= "btn btn-primary btn-sm" > Small button</button>
<button type= "button" class= "btn btn-default btn-sm" > Small button</button>
</p>
<p>
<button type= "button" class= "btn btn-primary btn-xs" > Extra small button</button>
<button type= "button" class= "btn btn-default btn-xs" > Extra small button</button>
</p>
สร้างปุ่มระดับบล็อก—ปุ่มที่ขยายเต็มความกว้างของพาเรนต์— โดยเพิ่ม.btn-block
.
ปุ่มระดับบล็อก
ปุ่มระดับบล็อก
<button type= "button" class= "btn btn-primary btn-lg btn-block" > Block level button</button>
<button type= "button" class= "btn btn-default btn-lg btn-block" > Block level button</button>
ปุ่มต่างๆ จะปรากฏขึ้นเมื่อกด (โดยมีพื้นหลังที่เข้มกว่า เส้นขอบที่เข้มกว่า และเงาที่ใส่เข้าไป) เมื่อเปิดใช้งาน สำหรับ<button>
องค์ประกอบ ทำได้ผ่าน:active
. สำหรับ<a>
องค์ประกอบ จะทำด้วย.active
. อย่างไรก็ตาม คุณสามารถใช้.active
on <button>
s (และรวมaria-pressed="true"
แอตทริบิวต์) ได้ หากคุณต้องการจำลองสถานะแอ็คทีฟโดยทางโปรแกรม
องค์ประกอบปุ่ม
ไม่จำเป็นต้องเพิ่ม:active
เพราะเป็นคลาสหลอก แต่ถ้าคุณต้องการบังคับให้มีลักษณะเหมือนกัน ให้เพิ่ม.active
.
ปุ่มหลัก ปุ่ม
<button type= "button" class= "btn btn-primary btn-lg active" > Primary button</button>
<button type= "button" class= "btn btn-default btn-lg active" > Button</button>
องค์ประกอบสมอ
เพิ่ม.active
คลาสให้กับ<a>
ปุ่ม
ลิงค์หลัก ลิงค์
<a href= "#" class= "btn btn-primary btn-lg active" role= "button" > Primary link</a>
<a href= "#" class= "btn btn-default btn-lg active" role= "button" > Link</a>
ทำให้ปุ่มต่างๆ ดูเหมือนคลิกไม่ได้โดยทำให้ปุ่มเหล่านั้นจางกลับด้วยopacity
.
องค์ประกอบปุ่ม
เพิ่มdisabled
แอตทริบิวต์ให้กับ<button>
ปุ่ม
ปุ่มหลัก ปุ่ม
<button type= "button" class= "btn btn-lg btn-primary" disabled= "disabled" > Primary button</button>
<button type= "button" class= "btn btn-default btn-lg" disabled= "disabled" > Button</button>
องค์ประกอบสมอ
เพิ่ม.disabled
คลาสให้กับ<a>
ปุ่ม
ลิงค์หลัก ลิงค์
<a href= "#" class= "btn btn-primary btn-lg disabled" role= "button" > Primary link</a>
<a href= "#" class= "btn btn-default btn-lg disabled" role= "button" > Link</a>
เราใช้.disabled
เป็นคลาสยูทิลิตี้ที่นี่ คล้ายกับ.active
คลาสทั่วไป ดังนั้นจึงไม่จำเป็นต้องมีคำนำหน้า
ภาพที่ตอบสนอง
รูปภาพใน Bootstrap 3 สามารถทำให้ตอบสนองได้ง่ายผ่านการเพิ่ม.img-responsive
คลาส สิ่งนี้นำไปใช้max-width: 100%;
และheight: auto;
กับdisplay: block;
รูปภาพเพื่อให้ปรับขนาดอย่างเหมาะสมกับองค์ประกอบหลัก
หากต้องการจัดรูปภาพที่ใช้.img-responsive
คลาสให้อยู่ตรงกลาง ให้ใช้.center-block
แทน.text-center
. ดูส่วนคลาสตัวช่วย สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับ.center-block
การใช้งาน
ภาพ SVG และ IE 8-10
ใน Internet Explorer 8-10 รูปภาพ SVG ที่.img-responsive
มีขนาดไม่สมส่วน ในการแก้ไขปัญหานี้ ให้เพิ่มwidth: 100% \9;
เมื่อจำเป็น Bootstrap ไม่ได้ใช้สิ่งนี้โดยอัตโนมัติเนื่องจากทำให้เกิดความยุ่งยากกับรูปแบบภาพอื่น ๆ
<img src= "..." class= "img-responsive" alt= "Responsive image" >
รูปร่างของภาพ
เพิ่มคลาสให้กับ<img>
องค์ประกอบเพื่อจัดรูปแบบรูปภาพในโครงการใดๆ ได้อย่างง่ายดาย
ความเข้ากันได้ข้ามเบราว์เซอร์
โปรดทราบว่า Internet Explorer 8 ไม่รองรับมุมโค้งมน
<img src= "..." alt= "..." class= "img-rounded" >
<img src= "..." alt= "..." class= "img-circle" >
<img src= "..." alt= "..." class= "img-thumbnail" >
สีตามบริบท
ถ่ายทอดความหมายผ่านสีด้วยคลาสยูทิลิตี้การเน้นจำนวนหนึ่ง สิ่งเหล่านี้อาจถูกนำไปใช้กับลิงก์ และจะมืดลงเมื่อวางเมาส์เหนือ เช่นเดียวกับสไตล์ลิงก์เริ่มต้นของเรา
Fusce dapibus, tellus ac cursus คอมโมโด, tortor mauris nibh
Nullam id dolor id nibh ultricies vehicula ut id elit
Duis mollis, est non commodo luctus, นิซิ erat porttitor ligula
Maecenas sed diam eget risus varius blandit นั่ง amet non magna.
Etiam porta sem malesuada magna มอลลิส euismod
Donec ullamcorper nulla non metus auctor fringilla.
<p class= "text-muted" > ...</p>
<p class= "text-primary" > ...</p>
<p class= "text-success" > ...</p>
<p class= "text-info" > ...</p>
<p class= "text-warning" > ...</p>
<p class= "text-danger" > ...</p>
การจัดการกับความจำเพาะ
บางครั้งไม่สามารถใช้คลาสการเน้นได้เนื่องจากความจำเพาะของตัวเลือกอื่น ในกรณีส่วนใหญ่ วิธีแก้ปัญหาที่เพียงพอคือการใส่ข้อความของคุณใน<span>
ชั้นเรียน
ถ่ายทอดความหมายสู่เทคโนโลยีอำนวยความสะดวก
การใช้สีเพื่อเพิ่มความหมายเป็นเพียงการแสดงภาพเท่านั้น ซึ่งจะไม่ถูกถ่ายทอดไปยังผู้ใช้เทคโนโลยีอำนวยความสะดวก เช่น โปรแกรมอ่านหน้าจอ ตรวจสอบให้แน่ใจว่าข้อมูลที่แสดงด้วยสีนั้นชัดเจนจากเนื้อหา (สีตามบริบทใช้เพื่อเสริมความหมายที่มีอยู่แล้วในข้อความ/มาร์กอัป) หรือรวมไว้ด้วยวิธีการอื่น เช่น ข้อความเพิ่มเติมที่ซ่อนอยู่ใน.sr-only
ชั้นเรียน .
ภูมิหลังตามบริบท
คล้ายกับคลาสสีข้อความตามบริบท ตั้งค่าพื้นหลังขององค์ประกอบให้เป็นคลาสตามบริบทได้อย่างง่ายดาย ส่วนประกอบ Anchor จะมืดลงเมื่อวางเมาส์เหนือ เช่นเดียวกับคลาสข้อความ
Nullam id dolor id nibh ultricies vehicula ut id elit
Duis mollis, est non commodo luctus, นิซิ erat porttitor ligula
Maecenas sed diam eget risus varius blandit นั่ง amet non magna.
Etiam porta sem malesuada magna มอลลิส euismod
Donec ullamcorper nulla non metus auctor fringilla.
<p class= "bg-primary" > ...</p>
<p class= "bg-success" > ...</p>
<p class= "bg-info" > ...</p>
<p class= "bg-warning" > ...</p>
<p class= "bg-danger" > ...</p>
การจัดการกับความจำเพาะ
บางครั้งไม่สามารถใช้คลาสพื้นหลังตามบริบทได้เนื่องจากความจำเพาะของตัวเลือกอื่น ในบางกรณี วิธีแก้ปัญหาที่เพียงพอคือการห่อเนื้อหาขององค์ประกอบใน<div>
คลาสด้วย
ถ่ายทอดความหมายสู่เทคโนโลยีอำนวยความสะดวก
เช่นเดียวกับสีตามบริบท ตรวจสอบให้แน่ใจว่าความหมายใดๆ ที่สื่อผ่านสีนั้นถูกถ่ายทอดในรูปแบบที่ไม่ได้เป็นเพียงการนำเสนอเท่านั้น
ปิดไอคอน
ใช้ไอคอนปิดทั่วไปเพื่อปิดเนื้อหา เช่น โมดอลและการแจ้งเตือน
<button type= "button" class= "close" aria-label= "Close" ><span aria-hidden= "true" > × </span></button>
คาเร็ต
ใช้คาเร็ตเพื่อระบุฟังก์ชันและทิศทางแบบเลื่อนลง โปรดทราบว่าเครื่องหมายรูปหมวกเริ่มต้นจะย้อนกลับโดยอัตโนมัติในเมนูแบบเลื่อน ลง
<span class= "caret" ></span>
ลอยอย่างรวดเร็ว
ลอยองค์ประกอบไปทางซ้ายหรือขวาด้วยคลาส !important
รวมไว้เพื่อหลีกเลี่ยงปัญหาความจำเพาะ ชั้นเรียนสามารถใช้เป็นมิกซ์อินได้
<div class= "pull-left" > ...</div>
<div class= "pull-right" > ...</div>
// Classes
.pull-left {
float : left ! important ;
}
.pull-right {
float : right ! important ;
}
// Usage as mixins
.element {
.pull-left () ;
}
.another-element {
.pull-right () ;
}
ไม่ใช้สำหรับแถบนำทาง
ในการจัดแนวส่วนประกอบในแถบนำทางด้วยคลาสยูทิลิตี้ ให้ใช้.navbar-left
หรือ.navbar-right
แทน ดูเอกสารแถบนำทาง สำหรับรายละเอียด
ศูนย์เนื้อหาบล็อก
ตั้งค่าองค์ประกอบเป็นdisplay: block
และจัดกึ่งกลางผ่านmargin
. มีให้เลือกทั้งแบบมิกซ์อินและคลาส
<div class= "center-block" > ...</div>
// Class
.center-block {
display : block ;
margin-left : auto ;
margin-right : auto ;
}
// Usage as a mixin
.element {
.center-block () ;
}
Clearfix
ล้างได้อย่างง่ายดายfloat
โดยการเพิ่ม.clearfix
องค์ประกอบ หลัก ใช้ micro clearfix ที่Nicolas Gallagher นิยมใช้ สามารถใช้เป็นมิกซ์อินได้
<!-- Usage as a class -->
<div class= "clearfix" > ...</div>
// Mixin itself
.clearfix () {
& :before ,
& :after {
content : " " ;
display : table ;
}
& :after {
clear : both ;
}
}
// Usage as a mixin
.element {
.clearfix () ;
}
การแสดงและซ่อนเนื้อหา
บังคับให้แสดงหรือซ่อนองค์ประกอบ ( รวมถึงโปรแกรมอ่านหน้าจอ ) ด้วยการใช้.show
และ.hidden
คลาส คลาสเหล่านี้ใช้!important
เพื่อหลีกเลี่ยงความขัดแย้งเฉพาะ เช่นเดียวกับการลอย ด่วน มีให้สำหรับการสลับระดับบล็อกเท่านั้น พวกเขายังสามารถใช้เป็นมิกซ์อิน
.hide
พร้อมใช้งาน แต่จะไม่มีผลกับโปรแกรมอ่านหน้าจอเสมอไป และเลิกใช้งานแล้ว ตั้งแต่ v3.0.1 ใช้.hidden
หรือ.sr-only
แทน
นอกจากนี้.invisible
สามารถใช้เพื่อสลับเฉพาะการมองเห็นองค์ประกอบ หมายความว่าองค์ประกอบdisplay
จะไม่ถูกแก้ไข และองค์ประกอบยังคงส่งผลต่อการไหลของเอกสาร
<div class= "show" > ...</div>
<div class= "hidden" > ...</div>
// Classes
.show {
display : block ! important ;
}
.hidden {
display : none ! important ;
}
.invisible {
visibility : hidden ;
}
// Usage as mixins
.element {
.show () ;
}
.another-element {
.hidden () ;
}
โปรแกรมอ่านหน้าจอและเนื้อหาการนำทางด้วยแป้นพิมพ์
ซ่อนองค์ประกอบไปยังอุปกรณ์ทั้งหมดยกเว้นโปรแกรมอ่านหน้าจอ ที่มี.sr-only
. รวม.sr-only
กับ.sr-only-focusable
เพื่อแสดงองค์ประกอบอีกครั้งเมื่อมีการโฟกัส (เช่น โดยผู้ใช้คีย์บอร์ดเท่านั้น) จำเป็นสำหรับแนวทางปฏิบัติที่ดีที่สุดในการช่วยสำหรับการเข้าถึง ต่อไป นี้ สามารถใช้เป็นส่วนผสมได้
<a class= "sr-only sr-only-focusable" href= "#content" > Skip to main content</a>
// Usage as a mixin
.skip-navigation {
.sr-only () ;
.sr-only-focusable () ;
}
การเปลี่ยนภาพ
ใช้.text-hide
คลาสหรือมิกซ์อินเพื่อช่วยแทนที่เนื้อหาข้อความขององค์ประกอบด้วยรูปภาพพื้นหลัง
<h1 class= "text-hide" > Custom heading</h1>
// Usage as a mixin
.heading {
.text-hide () ;
}
เพื่อการพัฒนาที่เป็นมิตรกับอุปกรณ์พกพาที่รวดเร็วขึ้น ให้ใช้คลาสยูทิลิตี้เหล่านี้เพื่อแสดงและซ่อนเนื้อหาตามอุปกรณ์ผ่านการสืบค้นสื่อ รวมถึงคลาสยูทิลิตี้สำหรับการสลับเนื้อหาเมื่อพิมพ์
พยายามใช้สิ่งเหล่านี้อย่างจำกัด และหลีกเลี่ยงการสร้างเว็บไซต์เดียวกันในเวอร์ชันที่ต่างไปจากเดิมอย่างสิ้นเชิง ให้ใช้สิ่งเหล่านี้เพื่อเสริมการนำเสนอของอุปกรณ์แต่ละเครื่องแทน
ชั้นเรียนที่มีอยู่
ใช้คลาสเดียวหรือหลายคลาสที่มีอยู่เพื่อสลับเนื้อหาข้ามเบรกพอยต์ของวิวพอร์ต
อุปกรณ์ขนาดเล็กพิเศษโทรศัพท์ (<768px)
อุปกรณ์ขนาดเล็กแท็บเล็ต (≥768px)
อุปกรณ์ขนาดกลางเดสก์ท็อป (≥992px)
อุปกรณ์ขนาดใหญ่เดสก์ท็อป (≥1200px)
.visible-xs-*
มองเห็นได้
ที่ซ่อนอยู่
ที่ซ่อนอยู่
ที่ซ่อนอยู่
.visible-sm-*
ที่ซ่อนอยู่
มองเห็นได้
ที่ซ่อนอยู่
ที่ซ่อนอยู่
.visible-md-*
ที่ซ่อนอยู่
ที่ซ่อนอยู่
มองเห็นได้
ที่ซ่อนอยู่
.visible-lg-*
ที่ซ่อนอยู่
ที่ซ่อนอยู่
ที่ซ่อนอยู่
มองเห็นได้
.hidden-xs
ที่ซ่อนอยู่
มองเห็นได้
มองเห็นได้
มองเห็นได้
.hidden-sm
มองเห็นได้
ที่ซ่อนอยู่
มองเห็นได้
มองเห็นได้
.hidden-md
มองเห็นได้
มองเห็นได้
ที่ซ่อนอยู่
มองเห็นได้
.hidden-lg
มองเห็นได้
มองเห็นได้
มองเห็นได้
ที่ซ่อนอยู่
ตั้งแต่ v3.2.0 .visible-*-*
คลาสสำหรับแต่ละเบรกพอยต์จะมีสามรูปแบบ หนึ่งคลาสสำหรับค่าคุณสมบัติ CSS แต่ละdisplay
รายการที่แสดงด้านล่าง
กลุ่มวิชา
CSSdisplay
.visible-*-block
display: block;
.visible-*-inline
display: inline;
.visible-*-inline-block
display: inline-block;
xs
ตัวอย่างเช่น สำหรับหน้าจอขนาดเล็กพิเศษ ( ) .visible-*-*
คลาสที่ใช้ได้คือ: .visible-xs-block
, .visible-xs-inline
, และ.visible-xs-inline-block
.
คลาส.visible-xs
, .visible-sm
, .visible-md
, และ.visible-lg
ยังมีอยู่ แต่ เลิกใช้งาน ตั้งแต่v3.2.0 มีค่าประมาณเทียบเท่ากับ.visible-*-block
ยกเว้นกรณีพิเศษเพิ่มเติมสำหรับการสลับ<table>
องค์ประกอบที่เกี่ยวข้องกับ การสลับ
ชั้นเรียนการพิมพ์
คล้ายกับคลาสตอบสนองปกติ ใช้สิ่งเหล่านี้เพื่อสลับเนื้อหาสำหรับการพิมพ์
ชั้นเรียน
เบราว์เซอร์
พิมพ์
.visible-print-block
.visible-print-inline
.visible-print-inline-block
ที่ซ่อนอยู่
มองเห็นได้
.hidden-print
มองเห็นได้
ที่ซ่อนอยู่
คลาส.visible-print
นี้ยังมีอยู่แต่เลิกใช้งานแล้ว ตั้งแต่ v3.2.0 มีค่าประมาณเทียบเท่ากับ.visible-print-block
ยกเว้นกรณีพิเศษเพิ่มเติมสำหรับ<table>
องค์ประกอบที่เกี่ยวข้อง
กรณีทดสอบ
ปรับขนาดเบราว์เซอร์ของคุณหรือโหลดบนอุปกรณ์ต่าง ๆ เพื่อทดสอบคลาสยูทิลิตี้ที่ตอบสนอง
ปรากฏบน...
เครื่องหมายถูกสีเขียวแสดงว่าองค์ประกอบนั้นมองเห็นได้ ในวิวพอร์ตปัจจุบันของคุณ
เล็กพิเศษ
✔ มองเห็นได้บน x-small
ขนาดเล็ก
✔ มองเห็นได้บนขนาดเล็ก
ปานกลาง
✔ มองเห็นได้บนสื่อ
ขนาดใหญ่
✔ มองเห็นได้บนขนาดใหญ่
เล็กและเล็กเป็นพิเศษ
✔ มองเห็นได้บน x-small และ small
ขนาดกลางและขนาดใหญ่
✔ มองเห็นได้บนขนาดกลางและขนาดใหญ่
เล็กและกลางพิเศษ
✔ มองเห็นได้บน x-small และ medium
ขนาดเล็กและขนาดใหญ่
✔ มองเห็นได้บนขนาดเล็กและขนาดใหญ่
เล็กและใหญ่เป็นพิเศษ
✔ มองเห็นได้บน x-small และ big
ขนาดเล็กและขนาดกลาง
✔ มองเห็นได้บนขนาดเล็กและขนาดกลาง
ซ่อนบน...
ที่นี่ เครื่องหมายถูกสีเขียวยังระบุว่าองค์ประกอบนั้นซ่อนอยู่ ในวิวพอร์ตปัจจุบันของคุณ
เล็กพิเศษ
✔ ซ่อนบน x-small
เล็ก
✔ ซ่อนเล็ก
ปานกลาง
✔ ซ่อนบนสื่อ
ขนาดใหญ่
✔ ซ่อนขนาดใหญ่
เล็กและเล็กเป็นพิเศษ
✔ ซ่อนบน x-small และ small
ขนาดกลางและขนาดใหญ่
✔ ซ่อนบนขนาดกลางและขนาดใหญ่
เล็กและกลางพิเศษ
✔ ซ่อนบน x-small และ ขนาดกลาง
เล็กและใหญ่
✔ ซ่อนเล็กและใหญ่
เล็กและใหญ่พิเศษ
✔ ซ่อนบน x-small และ ใหญ่
ขนาดเล็กและขนาดกลาง
✔ ซ่อนขนาดเล็กและขนาดกลาง
CSS ของ Bootstrap สร้างขึ้นจาก Less ซึ่งเป็นพรีโปรเซสเซอร์ที่มีฟังก์ชันเพิ่มเติม เช่น ตัวแปร มิกซ์อิน และฟังก์ชันสำหรับการคอมไพล์ CSS ผู้ที่ต้องการใช้ซอร์สไฟล์ Less แทนไฟล์ CSS ที่คอมไพล์แล้ว สามารถใช้ตัวแปรและมิกซ์อินมากมายที่เราใช้ตลอดทั้งเฟรมเวิร์ก
ตัวแปรกริดและมิกซ์อินจะครอบคลุมอยู่ในส่วนระบบ กริด
กำลังรวบรวม Bootstrap
Bootstrap สามารถใช้ได้อย่างน้อยสองวิธี: กับ CSS ที่คอมไพล์แล้วหรือกับไฟล์ Less ต้นทาง ในการคอมไพล์ไฟล์ Less ให้ศึกษาส่วนการเริ่มต้นใช้งาน สำหรับวิธีตั้งค่าสภาพแวดล้อมการพัฒนาของคุณเพื่อรันคำสั่งที่จำเป็น
เครื่องมือคอมไพล์ของบุคคลที่สามอาจใช้งานได้กับ Bootstrap แต่ไม่ได้รับการสนับสนุนจากทีมงานหลักของเรา
ตัวแปร
ตัวแปรถูกใช้ทั่วทั้งโปรเจ็กต์เพื่อรวมศูนย์และแบ่งปันค่าที่ใช้กันทั่วไป เช่น สี ระยะห่าง หรือฟอนต์สแต็ค สำหรับรายละเอียดทั้งหมด โปรดดูที่เครื่องมือปรับแต่ง
สี
ใช้โทนสีสองแบบได้อย่างง่ายดาย: ระดับสีเทาและความหมาย เฉดสีเทาช่วยให้เข้าถึงเฉดสีดำที่ใช้กันทั่วไปได้อย่างรวดเร็ว ในขณะที่ความหมายรวมถึงสีต่างๆ ที่กำหนดให้กับค่าตามบริบทที่มีความหมาย
@gray-darker : lighten ( #000 , 13 .5 % ) ; // #222
@gray-dark : lighten ( #000 , 20 % ) ; // #333
@gray : lighten ( #000 , 33 .5 % ) ; // #555
@gray-light : lighten ( #000 , 46 .7 % ) ; // #777
@gray-lighter : lighten ( #000 , 93 .5 % ) ; // #eee
@brand-primary : darken ( #428bca , 6 .5 % ) ; // #337ab7
@brand-success : #5cb85c ;
@brand-info : #5bc0de ;
@brand-warning : #f0ad4e ;
@brand-danger : #d9534f ;
ใช้ตัวแปรสีใดๆ เหล่านี้ตามที่เป็นอยู่ หรือกำหนดให้กับตัวแปรที่มีความหมายมากขึ้นสำหรับโครงการของคุณ
// Use as-is
.masthead {
background-color : @ brand-primary ;
}
// Reassigned variables in Less
@alert-message-background : @ brand-info ;
.alert {
background-color : @ alert-message-background ;
}
นั่งร้าน
ตัวแปรจำนวนหนึ่งสำหรับการปรับแต่งองค์ประกอบหลักของโครงร่างเว็บไซต์ของคุณอย่างรวดเร็ว
// Scaffolding
@body-bg : #fff ;
@text-color : @ black-50 ;
ลิงค์
จัดรูปแบบลิงก์ของคุณได้อย่างง่ายดายด้วยสีที่เหมาะสมด้วยค่าเดียว
// Variables
@link-color : @ brand-primary ;
@link-hover-color : darken (@ link-color , 15 % ) ;
// Usage
a {
color : @ link-color ;
text-decoration : none ;
& :hover {
color : @ link-hover-color ;
text-decoration : underline ;
}
}
โปรดทราบว่าการ@link-hover-color
ใช้ฟังก์ชันซึ่งเป็นเครื่องมือที่ยอดเยี่ยมอีกอย่างหนึ่งจาก Less เพื่อสร้างสีโฮเวอร์ที่ถูกต้องโดยอัตโนมัติ คุณสามารถใช้darken
, lighten
, , saturate
และdesaturate
วิชาการพิมพ์
ตั้งค่าแบบอักษร ขนาดข้อความ นำหน้า และอื่นๆ ได้อย่างง่ายดายด้วยตัวแปรด่วนสองสามตัว Bootstrap ใช้ประโยชน์จากสิ่งเหล่านี้เช่นกันเพื่อให้มิกซ์อินการพิมพ์ที่ง่าย
@font-family-sans-serif : "Helvetica Neue" , Helvetica , Arial , sans-serif ;
@font-family-serif : Georgia , "Times New Roman" , Times , serif ;
@font-family-monospace : Menlo , Monaco , Consolas , "Courier New" , monospace ;
@font-family-base : @ font-family-sans-serif ;
@font-size-base : 14px ;
@font-size-large : ceil ((@ font-size-base * 1 .25 )) ; // ~18px
@font-size-small : ceil ((@ font-size-base * 0 .85 )) ; // ~12px
@font-size-h1 : floor ((@ font-size-base * 2 .6 )) ; // ~36px
@font-size-h2 : floor ((@ font-size-base * 2 .15 )) ; // ~30px
@font-size-h3 : ceil ((@ font-size-base * 1 .7 )) ; // ~24px
@font-size-h4 : ceil ((@ font-size-base * 1 .25 )) ; // ~18px
@font-size-h5 : @ font-size-base ;
@font-size-h6 : ceil ((@ font-size-base * 0 .85 )) ; // ~12px
@line-height-base : 1 .428571429 ; // 20/14
@line-height-computed : floor ((@ font-size-base * @ line-height-base )) ; // ~20px
@headings-font-family : inherit ;
@headings-font-weight : 500 ;
@headings-line-height : 1 .1 ;
@headings-color : inherit ;
ไอคอน
ตัวแปรด่วน 2 ตัวสำหรับกำหนดตำแหน่งและชื่อไฟล์ของไอคอนเอง
@icon-font-path : "../fonts/" ;
@icon-font-name : "glyphicons-halflings-regular" ;
ส่วนประกอบ
ส่วนประกอบใน Bootstrap ใช้ประโยชน์จากตัวแปรดีฟอลต์บางตัวสำหรับการตั้งค่าทั่วไป นี่คือรายการที่ใช้บ่อยที่สุด
@padding-base-vertical : 6px ;
@padding-base-horizontal : 12px ;
@padding-large-vertical : 10px ;
@padding-large-horizontal : 16px ;
@padding-small-vertical : 5px ;
@padding-small-horizontal : 10px ;
@padding-xs-vertical : 1px ;
@padding-xs-horizontal : 5px ;
@line-height-large : 1 .33 ;
@line-height-small : 1 .5 ;
@border-radius-base : 4px ;
@border-radius-large : 6px ;
@border-radius-small : 3px ;
@component-active-color : #fff ;
@component-active-bg : @ brand-primary ;
@caret-width-base : 4px ;
@caret-width-large : 5px ;
ผู้ขายมิกซ์อิน
มิกซ์อินของผู้ขายคือมิกซ์อินที่จะช่วยสนับสนุนเบราว์เซอร์หลายตัวโดยรวมคำนำหน้าของผู้ขายที่เกี่ยวข้องทั้งหมดใน CSS ที่คอมไพล์ของคุณ
ขนาดกล่อง
รีเซ็ตโมเดลกล่องส่วนประกอบของคุณด้วยมิกซ์อินเดียว สำหรับบริบท โปรดดู บทความที่เป็นประโยชน์ นี้จาก Mozilla
มิกซ์อิน เลิกใช้แล้ว ตั้งแต่ v3.2.0 โดยมีการเปิดตัว Autoprefixer เพื่อรักษาความเข้ากันได้แบบย้อนหลัง Bootstrap จะยังคงใช้มิกซ์อินภายในจนถึง Bootstrap v4.0
.box-sizing (@ box-model ) {
-webkit-box-sizing : @ box-model ; // Safari <= 5
-moz-box-sizing : @ box-model ; // Firefox <= 19
box-sizing : @ box-model ;
}
มุมโค้งมน
border-radius
ปัจจุบันเบราว์เซอร์ที่ทันสมัยทั้งหมดรองรับ คุณสมบัติที่ไม่มีคำนำหน้า ด้วยเหตุนี้จึงไม่มี.border-radius()
มิกซ์อิน แต่ Bootstrap มีทางลัดสำหรับการปัดเศษสองมุมอย่างรวดเร็วในด้านใดด้านหนึ่งของวัตถุ
.border-top-radius (@ radius ) {
border-top-right-radius : @ radius ;
border-top-left-radius : @ radius ;
}
.border-right-radius (@ radius ) {
border-bottom-right-radius : @ radius ;
border-top-right-radius : @ radius ;
}
.border-bottom-radius (@ radius ) {
border-bottom-right-radius : @ radius ;
border-bottom-left-radius : @ radius ;
}
.border-left-radius (@ radius ) {
border-bottom-left-radius : @ radius ;
border-top-left-radius : @ radius ;
}
กล่อง (วาง) เงา
หากกลุ่มเป้าหมายของคุณใช้เบราว์เซอร์และอุปกรณ์ล่าสุดและดีที่สุด อย่าลืมใช้ พร็อพเพอ box-shadow
ร์ตี้เพียงอย่างเดียว หากคุณต้องการการสนับสนุนสำหรับอุปกรณ์ Android (รุ่นก่อน v4) และ iOS รุ่นเก่า (รุ่นก่อน iOS 5) ให้ใช้มิกซ์อินที่เลิกใช้งานแล้ว เพื่อเลือก-webkit
คำนำหน้าที่ จำเป็น
มิกซ์อิน เลิกใช้งาน ตั้งแต่ v3.1.0 เนื่องจาก Bootstrap ไม่รองรับแพลตฟอร์มที่ล้าสมัยอย่างเป็นทางการซึ่งไม่รองรับคุณสมบัติมาตรฐาน เพื่อรักษาความเข้ากันได้แบบย้อนหลัง Bootstrap จะยังคงใช้มิกซ์อินภายในจนถึง Bootstrap v4.0
อย่าลืมใช้rgba()
สีในเงากล่องของคุณเพื่อให้กลมกลืนกับพื้นหลังได้อย่างลงตัวที่สุด
. box-shadow (@ shadow : 0 1px 3px rgba ( 0 , 0 , 0 ,. 25 )) {
-webkit-box-shadow : @ shadow ; // iOS <4.3 & Android <4.1
box-shadow : @ shadow ;
}
การเปลี่ยนผ่าน
ส่วนผสมหลายอย่างเพื่อความยืดหยุ่น ตั้งค่าข้อมูลการเปลี่ยนทั้งหมดด้วยข้อมูลเดียว หรือระบุการหน่วงเวลาและระยะเวลาแยกต่างหากตามต้องการ
มิกซ์อิน เลิกใช้งาน ตั้งแต่ v3.2.0 โดยมีการแนะนำ Autoprefixer เพื่อรักษาความเข้ากันได้แบบย้อนหลัง Bootstrap จะยังคงใช้มิกซ์อินภายในจนถึง Bootstrap v4.0
.transition (@ transition ) {
-webkit-transition : @ transition ;
transition : @ transition ;
}
.transition-property (@ transition-property ) {
-webkit-transition-property : @ transition-property ;
transition-property : @ transition-property ;
}
.transition-delay (@ transition-delay ) {
-webkit-transition-delay : @ transition-delay ;
transition-delay : @ transition-delay ;
}
.transition-duration (@ transition-duration ) {
-webkit-transition-duration : @ transition-duration ;
transition-duration : @ transition-duration ;
}
.transition-timing-function (@ timing-function ) {
-webkit-transition-timing-function : @ timing-function ;
transition-timing-function : @ timing-function ;
}
.transition-transform (@ transition ) {
-webkit-transition : - webkit-transform @ transition ;
-moz-transition : - moz-transform @ transition ;
-o-transition : - o-transform @ transition ;
transition : transform @ transition ;
}
หมุน ปรับขนาด แปล (ย้าย) หรือเอียงวัตถุใดๆ
มิกซ์อิน เลิกใช้งาน ตั้งแต่ v3.2.0 โดยมีการแนะนำ Autoprefixer เพื่อรักษาความเข้ากันได้แบบย้อนหลัง Bootstrap จะยังคงใช้มิกซ์อินภายในจนถึง Bootstrap v4.0
.rotate (@ degrees ) {
-webkit-transform : rotate ( @ degrees );
-ms-transform : rotate ( @ degrees ); // IE9 only
transform : rotate ( @ degrees );
}
.scale (@ ratio ; @ratio-y ... ) {
-webkit-transform : scale ( @ ratio , @ ratio-y );
-ms-transform : scale ( @ ratio , @ ratio-y ); // IE9 only
transform : scale ( @ ratio , @ ratio-y );
}
.translate (@ x ; @y ) {
-webkit-transform : translate ( @ x , @ y );
-ms-transform : translate ( @ x , @ y ); // IE9 only
transform : translate ( @ x , @ y );
}
.skew (@ x ; @y ) {
-webkit-transform : skew ( @ x , @ y );
-ms-transform : skewX ( @ x ) skewY ( @ y ); // See https://github.com/twbs/bootstrap/issues/4885; IE9+
transform : skew ( @ x , @ y );
}
.translate3d (@ x ; @y ; @z ) {
-webkit-transform : translate3d ( @ x , @ y , @ z );
transform : translate3d ( @ x , @ y , @ z );
}
.rotateX (@ degrees ) {
-webkit-transform : rotateX ( @ degrees );
-ms-transform : rotateX ( @ degrees ); // IE9 only
transform : rotateX ( @ degrees );
}
.rotateY (@ degrees ) {
-webkit-transform : rotateY ( @ degrees );
-ms-transform : rotateY ( @ degrees ); // IE9 only
transform : rotateY ( @ degrees );
}
.perspective (@ perspective ) {
-webkit-perspective : @ perspective ;
-moz-perspective : @ perspective ;
perspective : @ perspective ;
}
.perspective-origin (@ perspective ) {
-webkit-perspective-origin : @ perspective ;
-moz-perspective-origin : @ perspective ;
perspective-origin : @ perspective ;
}
.transform-origin (@ origin ) {
-webkit-transform-origin : @ origin ;
-moz-transform-origin : @ origin ;
-ms-transform-origin : @ origin ; // IE9 only
transform-origin : @ origin ;
}
แอนิเมชั่น
มิกซ์อินเดียวสำหรับการใช้คุณสมบัติแอนิเมชั่นของ CSS3 ทั้งหมดในการประกาศครั้งเดียวและมิกซ์อินอื่นๆ สำหรับแต่ละพร็อพเพอร์ตี้
มิกซ์อิน เลิกใช้งาน ตั้งแต่ v3.2.0 โดยมีการแนะนำ Autoprefixer เพื่อรักษาความเข้ากันได้แบบย้อนหลัง Bootstrap จะยังคงใช้มิกซ์อินภายในจนถึง Bootstrap v4.0
.animation (@ animation ) {
-webkit-animation : @ animation ;
animation : @ animation ;
}
.animation-name (@ name ) {
-webkit-animation-name : @ name ;
animation-name : @ name ;
}
.animation-duration (@ duration ) {
-webkit-animation-duration : @ duration ;
animation-duration : @ duration ;
}
.animation-timing-function (@ timing-function ) {
-webkit-animation-timing-function : @ timing-function ;
animation-timing-function : @ timing-function ;
}
.animation-delay (@ delay ) {
-webkit-animation-delay : @ delay ;
animation-delay : @ delay ;
}
.animation-iteration-count (@ iteration-count ) {
-webkit-animation-iteration-count : @ iteration-count ;
animation-iteration-count : @ iteration-count ;
}
.animation-direction (@ direction ) {
-webkit-animation-direction : @ direction ;
animation-direction : @ direction ;
}
ความทึบ
ตั้งค่าความทึบสำหรับเบราว์เซอร์ทั้งหมดและจัดเตรียมทางfilter
เลือกสำรองสำหรับ IE8
.opacity (@ opacity ) {
opacity : @ opacity ;
// IE8 filter
@opacity-ie : (@ opacity * 100 ) ;
filter : ~ "alpha(opacity=@{opacity-ie})" ;
}
ข้อความตัวยึดตำแหน่ง
จัดเตรียมบริบทสำหรับการควบคุมแบบฟอร์มภายในแต่ละฟิลด์
. placeholder (@ color : @ input-color-placeholder ) {
& : :- moz-placeholder { color : @ color ; } // Firefox
& : - ms-input-placeholder { color : @ color ; } // Internet Explorer 10+
& : :- webkit-input-placeholder { color : @ color ; } // Safari and Chrome
}
คอลัมน์
สร้างคอลัมน์ผ่าน CSS ภายในองค์ประกอบเดียว
.content-columns (@ width ; @count ; @gap ) {
-webkit-column-width : @ width ;
-moz-column-width : @ width ;
column-width : @ width ;
-webkit-column-count : @ count ;
-moz-column-count : @ count ;
column-count : @ count ;
-webkit-column-gap : @ gap ;
-moz-column-gap : @ gap ;
column-gap : @ gap ;
}
ไล่โทนสี
เปลี่ยนสีสองสีให้กลายเป็นการไล่ระดับสีพื้นหลังได้อย่างง่ายดาย ก้าวไปอีกขั้นและกำหนดทิศทาง ใช้สามสี หรือใช้การไล่ระดับสีในแนวรัศมี ด้วยมิกซ์อินเดียว คุณจะได้รับไวยากรณ์นำหน้าทั้งหมดที่คุณต้องการ
#gradient > .vertical ( #333 ; #000 ) ;
#gradient > .horizontal ( #333 ; #000 ) ;
#gradient > .radial ( #333 ; #000 ) ;
คุณยังสามารถระบุมุมของการไล่ระดับสีเชิงเส้นสองสีแบบมาตรฐานได้:
#gradient > .directional ( #333 ; #000 ; 45deg ) ;
หากคุณต้องการการไล่ระดับสีสไตล์ช่างตัดผม นั่นก็ง่ายเช่นกัน เพียงระบุสีเดียว แล้วเราจะวางแถบสีขาวโปร่งแสงทับซ้อน
#gradient > .striped ( #333 ; 45deg ) ;
ขึ้น ante และใช้สามสีแทน ตั้งค่าสีแรก สีที่สอง หยุดสีของสีที่สอง (ค่าเปอร์เซ็นต์ เช่น 25%) และสีที่สามด้วยมิกซ์อินเหล่านี้:
#gradient > .vertical-three-colors ( #777 ; #333 ; 25 % ; #000 ) ;
#gradient > .horizontal-three-colors ( #777 ; #333 ; 25 % ; #000 ) ;
หัวขึ้น! หากคุณต้องการลบการไล่ระดับสี อย่าลืมลบเฉพาะ IE ที่filter
คุณเพิ่มไว้ คุณสามารถทำได้โดยใช้.reset-filter()
มิกซ์อินควบคู่ไปbackground-image: none;
กับ
ยูทิลิตี้ผสม
ยูทิลิตี้มิกซ์อินคือมิกซ์อินที่รวมคุณสมบัติ CSS ที่ไม่เกี่ยวข้องเข้าด้วยกันเพื่อให้บรรลุเป้าหมายหรืองานที่เฉพาะเจาะจง
Clearfix
ลืมการเพิ่มclass="clearfix"
องค์ประกอบใด ๆ และเพิ่ม.clearfix()
มิกซ์อินแทนตามความเหมาะสม ใช้micro clearfix จากNicolas Gallagher
// Mixin
.clearfix () {
& :before ,
& :after {
content : " " ;
display : table ;
}
& :after {
clear : both ;
}
}
// Usage
.container {
.clearfix () ;
}
การจัดกึ่งกลางแนวนอน
จัดองค์ประกอบใด ๆ ภายในพาเรนต์อย่างรวดเร็ว ต้องมีwidth
หรือmax-width
กำหนด
// Mixin
.center-block () {
display : block ;
margin-left : auto ;
margin-right : auto ;
}
// Usage
.container {
width : 940px ;
.center-block () ;
}
ตัวช่วยขนาด
ระบุขนาดของวัตถุได้ง่ายขึ้น
// Mixins
.size (@ width ; @height ) {
width : @ width ;
height : @ height ;
}
.square (@ size ) {
.size (@ size ; @size ) ;
}
// Usage
.image { .size ( 400px ; 300px ) ; }
.avatar { .square ( 48px ) ; }
พื้นที่ข้อความที่ปรับขนาดได้
กำหนดค่าตัวเลือกการปรับขนาดสำหรับพื้นที่ข้อความหรือองค์ประกอบอื่นๆ ได้อย่างง่ายดาย ค่าดีฟอลต์เป็นพฤติกรรมเบราว์เซอร์ปกติ ( both
)
. resizable (@ direction : both ) {
// Options: horizontal, vertical, both
resize : @ direction ;
// Safari fix
overflow : auto ;
}
การตัดทอนข้อความ
ตัดข้อความอย่างง่ายดายด้วยจุดไข่ปลาด้วยมิกซ์อินเดียว กำหนดให้องค์ประกอบเป็นblock
หรือinline-block
ระดับ
// Mixin
.text-overflow () {
overflow : hidden ;
text-overflow : ellipsis ;
white-space : nowrap ;
}
// Usage
.branch-name {
display : inline-block ;
max-width : 200px ;
.text-overflow () ;
}
ภาพเรตินา
ระบุพาธรูปภาพสองเส้นทางและขนาดรูปภาพ @1x และ Bootstrap จะจัดเตรียมคิวรีสื่อ @2x หากคุณมีรูปภาพจำนวนมากที่จะให้บริการ ให้ลองเขียน CSS ของรูปภาพเรตินาด้วยตนเองในคิวรี่สื่อเดียว
.img-retina (@ file-1x ; @file-2x ; @width-1x ; @height-1x ) {
background-image : url("@{file-1x}") ;
@media
only screen and ( - webkit-min-device-pixel-ratio : 2 ) ,
only screen and ( min--moz-device-pixel-ratio : 2 ) ,
only screen and ( - o-min-device-pixel-ratio : 2 / 1 ) ,
only screen and ( min-device-pixel-ratio : 2 ) ,
only screen and ( min-resolution : 192dpi ) ,
only screen and ( min-resolution : 2dppx ) {
background-image : url("@{file-2x}") ;
background-size : @ width-1x @ height-1x ;
}
}
// Usage
.jumbotron {
.img-retina ( "/img/bg-1x.png" , "/img/bg-2x.png" , 100px , 100px ) ;
}
ในขณะที่ Bootstrap สร้างขึ้นจาก Less แต่ก็มีพอร์ต Sass อย่างเป็น ทางการ เราเก็บรักษาไว้ในที่เก็บ GitHub แยกต่างหากและจัดการการอัปเดตด้วยสคริปต์การแปลง
รวมอะไรบ้าง
เนื่องจากพอร์ต Sass มี repo แยกต่างหากและให้บริการผู้ชมที่แตกต่างกันเล็กน้อย เนื้อหาของโปรเจ็กต์จึงแตกต่างจากโปรเจ็กต์ Bootstrap หลักอย่างมาก สิ่งนี้ทำให้มั่นใจได้ว่าพอร์ต Sass จะเข้ากันได้กับระบบที่ใช้ Sass ให้ได้มากที่สุด
เส้นทาง
คำอธิบาย
lib/
รหัสอัญมณีทับทิม (การกำหนดค่า Sass, การรวม Rails และ Compass)
tasks/
สคริปต์ตัวแปลง (เปลี่ยนอัพสตรีม Less เป็น Sass)
test/
การทดสอบการรวบรวม
templates/
รายการแพ็คเกจเข็มทิศ
vendor/assets/
ไฟล์ Sass, JavaScript และฟอนต์
Rakefile
งานภายใน เช่น เรคและแปลง
ไปที่ที่เก็บ GitHub ของพอร์ต Sass เพื่อดูการทำงานของไฟล์เหล่านี้
การติดตั้ง
สำหรับข้อมูลเกี่ยวกับวิธีการติดตั้งและใช้งาน Bootstrap for Sass โปรดดูที่GitHub repository readme เป็นแหล่งข้อมูลล่าสุดและมีข้อมูลสำหรับใช้กับโครงการ Rails, Compass และ Sass มาตรฐาน
Bootstrap สำหรับ Sass