Bootstrap được xây dựng trên một lưới 12 cột đáp ứng. Chúng tôi cũng đã bao gồm các bố cục có chiều rộng cố định và chiều rộng linh hoạt dựa trên hệ thống đó.
Bootstrap sử dụng các phần tử HTML và thuộc tính CSS yêu cầu sử dụng loại tài liệu HTML5. Đảm bảo đưa nó vào đầu mỗi trang Bootstrapped trong dự án của bạn.
- <! DOCTYPE html>
- <html lang = "en" >
- ...
- </html>
Trong tệp giàn giáo.less , chúng tôi đặt các kiểu hiển thị toàn cục, kiểu chữ và liên kết cơ bản. Cụ thể, chúng tôi:
background-color: white;
trênbody
@baseFontFamily
, @baseFontSize
và @baseLineHeight
các thuộc tính làm cơ sở kiểu chữ của chúng tôi@linkColor
và chỉ áp dụng gạch dưới liên kết trên:hover
Kể từ Bootstrap 2, thiết lập lại CSS truyền thống đã phát triển để sử dụng các phần tử từ Normalize.css , một dự án của Nicolas Gallagher cũng cấp nguồn cho HTML5 Boilerplate .
Bạn vẫn có thể tìm thấy thiết lập lại mới trong reset.less , nhưng với nhiều phần tử đã bị xóa để ngắn gọn và chính xác.
Hệ thống lưới mặc định được cung cấp trong Bootstrap sử dụng 12 cột hiển thị ở độ rộng 724px, 940px (mặc định không bao gồm CSS đáp ứng) và 1170px. Bên dưới khung nhìn 767px, các cột trở nên linh hoạt và xếp chồng lên nhau theo chiều dọc.
- <div class = "row" >
- <div class = "span4" > ... </div>
- <div class = "span8" > ... </div>
- </div>
Như được hiển thị ở đây, một bố cục cơ bản có thể được tạo với hai "cột", mỗi "cột" trải dài một số trong số 12 cột cơ bản mà chúng tôi đã xác định là một phần của hệ thống lưới của chúng tôi.
- <div class = "row" >
- <div class = "span4" > ... </div>
- <div class = "span4 offset4" > ... </div>
- </div>
Với hệ thống lưới tĩnh (không chất lỏng) trong Bootstrap, việc lồng vào nhau rất dễ dàng. Để lồng nội dung của bạn, chỉ cần thêm một .row
tập hợp các .span*
cột mới trong một .span*
cột hiện có.
Các hàng lồng nhau phải bao gồm một tập hợp các cột cộng lại với số lượng cột của nó chính. Ví dụ: hai .span3
cột lồng nhau phải được đặt trong a .span6
.
- <div class = "row" >
- <div class = "span6" >
- Cột cấp 1
- <div class = "row" >
- <div class = "span3" > Cấp 2 </div>
- <div class = "span3" > Cấp 2 </div>
- </div>
- </div>
- </div>
Hệ thống lưới linh hoạt sử dụng phần trăm cho chiều rộng cột thay vì pixel cố định. Nó cũng có các biến thể đáp ứng tương tự như hệ thống lưới cố định của chúng tôi, đảm bảo tỷ lệ thích hợp cho các thiết bị và độ phân giải màn hình chính.
Làm cho bất kỳ hàng nào trở nên linh hoạt đơn giản bằng cách thay đổi .row
thành .row-fluid
. Các cột giữ nguyên chính xác, giúp bạn dễ dàng lật giữa các bố cục cố định và linh hoạt.
- <div class = "row-chất lỏng" >
- <div class = "span4" > ... </div>
- <div class = "span8" > ... </div>
- </div>
Việc lồng với lưới chất lỏng có một chút khác biệt: số lượng cột lồng nhau không cần phải khớp với cột gốc. Thay vào đó, các cột của bạn được đặt lại ở mỗi cấp vì mỗi hàng chiếm 100% cột mẹ.
- <div class = "row-chất lỏng" >
- <div class = "span12" >
- Cấp 1 của cột
- <div class = "row-chất lỏng" >
- <div class = "span6" > Cấp 2 </div>
- <div class = "span6" > Cấp 2 </div>
- </div>
- </div>
- </div>
Biến đổi | Giá trị mặc định | Sự mô tả |
---|---|---|
@gridColumns |
12 | Số cột |
@gridColumnWidth |
60px | Chiều rộng của mỗi cột |
@gridGutterWidth |
20px | Khoảng trống giữa các cột |
Được tích hợp trong Bootstrap là một số ít các biến để tùy chỉnh hệ thống lưới 940px mặc định, được nêu ở trên. Tất cả các biến cho lưới được lưu trữ trong các biến.less.
Sửa đổi lưới có nghĩa là thay đổi ba @grid*
biến và biên dịch lại Bootstrap. Thay đổi các biến lưới trong biến.less và sử dụng một trong bốn cách được ghi lại để biên dịch lại . Nếu bạn đang thêm nhiều cột hơn, hãy đảm bảo thêm CSS cho những cột đó trong grid.less.
Tùy chỉnh lưới chỉ hoạt động ở mức mặc định, lưới 940px. Để duy trì các khía cạnh đáp ứng của Bootstrap, bạn cũng sẽ phải tùy chỉnh các lưới trong responsive.less.
Bố cục mặc định và đơn giản, rộng 940px, ở giữa chỉ dành cho bất kỳ trang web hoặc trang nào được cung cấp bởi một trang duy nhất <div class="container">
.
- <body>
- <div class = "container" >
- ...
- </div>
- </body>
<div class="container-fluid">
cung cấp cấu trúc trang linh hoạt, độ rộng tối thiểu và tối đa và thanh bên bên trái. Nó tuyệt vời cho các ứng dụng và tài liệu.
- <div class = "container-liquid" >
- <div class = "row-chất lỏng" >
- <div class = "span2" >
- <! - Nội dung thanh bên ->
- </div>
- <div class = "span10" >
- <! - Nội dung phần thân ->
- </div>
- </div>
- </div>
Truy vấn phương tiện cho phép CSS tùy chỉnh dựa trên một số điều kiện — tỷ lệ, chiều rộng, loại hiển thị, v.v. — nhưng thường tập trung xung quanh min-width
và max-width
.
Sử dụng các truy vấn phương tiện một cách có trách nhiệm và chỉ như một bước khởi đầu cho khán giả trên thiết bị di động của bạn. Đối với các dự án lớn hơn, hãy xem xét các cơ sở mã chuyên dụng chứ không phải các lớp truy vấn phương tiện.
Bootstrap hỗ trợ một số truy vấn phương tiện trong một tệp duy nhất để giúp làm cho các dự án của bạn phù hợp hơn trên các thiết bị và độ phân giải màn hình khác nhau. Đây là những gì được bao gồm:
Nhãn mác | Chiều rộng bố cục | Chiều rộng cột | Chiều rộng máng xối |
---|---|---|---|
Điện thoại thông minh | 480px trở xuống | Cột linh hoạt, không có chiều rộng cố định | |
Điện thoại thông minh đến máy tính bảng | 767px trở xuống | Cột linh hoạt, không có chiều rộng cố định | |
Máy tính bảng chân dung | 768px trở lên | 42px | 20px |
Mặc định | 980px trở lên | 60px | 20px |
Màn hình lớn | 1200px trở lên | 70px | 30px |
Để đảm bảo thiết bị hiển thị đúng các trang đáp ứng, hãy bao gồm thẻ meta chế độ xem.
- <meta name = "viewport" content = "width = device-width, initial-scale = 1.0" >
Bootstrap không tự động bao gồm các truy vấn phương tiện này, nhưng việc hiểu và thêm chúng rất dễ dàng và yêu cầu thiết lập tối thiểu. Bạn có một số tùy chọn để bao gồm các tính năng đáp ứng của Bootstrap:
Tại sao không chỉ bao gồm nó? Sự thật mà nói, không phải cái gì cũng cần đáp ứng. Thay vì khuyến khích các nhà phát triển loại bỏ tính năng này, chúng tôi nghĩ cách tốt nhất là nên kích hoạt nó.
- / * Điện thoại ngang trở xuống * /
- @media ( tối đa - chiều rộng : 480px ) { ... }
- / * Điện thoại ngang sang máy tính bảng dọc * /
- @media ( tối đa - chiều rộng : 767px ) { ... }
- / * Dọc máy tính bảng sang ngang và máy tính để bàn * /
- @media ( tối thiểu - chiều rộng : 768px ) và ( tối đa - chiều rộng : 979px ) { ... }
- / * Máy tính để bàn lớn * /
- @media ( tối thiểu - chiều rộng : 1200px ) { ... }
Để phát triển thân thiện với thiết bị di động nhanh hơn, hãy sử dụng các lớp tiện ích cơ bản này để hiển thị và ẩn nội dung theo thiết bị.
Sử dụng trên cơ sở hạn chế và tránh tạo các phiên bản hoàn toàn khác nhau của cùng một trang web. Thay vào đó, hãy sử dụng chúng để bổ sung cho bản trình bày của mỗi thiết bị.
Ví dụ: bạn có thể hiển thị một <select>
phần tử cho điều hướng trên bố cục di động, nhưng không hiển thị trên máy tính bảng hoặc máy tính để bàn.
Dưới đây là bảng các lớp chúng tôi hỗ trợ và ảnh hưởng của chúng đối với bố cục truy vấn phương tiện nhất định (được gắn nhãn theo thiết bị). Chúng có thể được tìm thấy trong responsive.less
.
Lớp | Những cái điện thoại480px trở xuống | Máy tính bảng767px trở xuống | Máy tính để bàn768px trở lên |
---|---|---|---|
.visible-phone |
Dễ thấy | Ẩn giấu | Ẩn giấu |
.visible-tablet |
Ẩn giấu | Dễ thấy | Ẩn giấu |
.visible-desktop |
Ẩn giấu | Ẩn giấu | Dễ thấy |
.hidden-phone |
Ẩn giấu | Dễ thấy | Dễ thấy |
.hidden-tablet |
Dễ thấy | Ẩn giấu | Dễ thấy |
.hidden-desktop |
Dễ thấy | Dễ thấy | Ẩn giấu |
Thay đổi kích thước trình duyệt của bạn hoặc tải trên các thiết bị khác nhau để kiểm tra các lớp trên.
Dấu kiểm màu xanh lá cây cho biết rằng lớp đó được hiển thị trong khung nhìn hiện tại của bạn.
Tại đây, các dấu kiểm màu xanh lá cây cho biết rằng lớp đó bị ẩn trong khung nhìn hiện tại của bạn.