Ý nghĩa của các số trong Tiếng col-md-4,, col col-xs-1,


439

Tôi bối rối với hệ thống lưới trong Bootstrap mới, đặc biệt là các lớp này:

col-lg-*
col-md-*
col-xs-*

(trong đó * đại diện cho một số số).

Bất cứ ai có thể vui lòng giải thích như sau:

  1. Làm thế nào con số đó được sắp xếp các lưới?
  2. Làm thế nào để sử dụng những con số này?
  3. Những gì họ thực sự đại diện?

13
Bạn sẽ tìm thấy một lời giải thích ở đây . Bạn có thể sử dụng số trong cột theo cách bạn muốn, nhưng đảm bảo rằng tổng của tất cả các số của cột trong cùng một hàng phải bằng 12
Đoàn Cường

Câu trả lời:


835

Chỉ áp dụng cho Bootstrap 3.

Bỏ qua các chữ cái (x s , sm , md , lg ) cho bây giờ , tôi sẽ bắt đầu với chỉ số ...

  • các số (1-12) đại diện cho một phần của tổng chiều rộng của bất kỳ div nào
  • tất cả các div được chia thành 12 cột
  • vì vậy, col-*-6kéo dài 6 trên 12 cột (một nửa chiều rộng), col-*-12kéo dài 12 trong 12 cột (toàn bộ chiều rộng), v.v.

Vì vậy, nếu bạn muốn hai cột bằng nhau trải dài một div, hãy viết

<div class="col-xs-6">Column 1</div>
<div class="col-xs-6">Column 2</div>

Hoặc, nếu bạn muốn ba cột không bằng nhau trải rộng cùng chiều rộng đó, bạn có thể viết:

<div class="col-xs-2">Column 1</div>
<div class="col-xs-6">Column 2</div>
<div class="col-xs-4">Column 3</div>

Bạn sẽ nhận thấy số cột luôn luôn lên tới 12. Nó có thể ít hơn mười hai, nhưng hãy cẩn thận nếu hơn 12, vì các div vi phạm của bạn sẽ va vào hàng tiếp theo (không phải .rowlà một câu chuyện khác hoàn toàn).

Bạn cũng có thể lồng các cột trong các cột , (tốt nhất với .rowtrình bao bọc xung quanh chúng), chẳng hạn như:

<div class="col-xs-6">
  <div class="row">
    <div class="col-xs-4">Column 1-a</div>
    <div class="col-xs-8">Column 1-b</div>
  </div>
</div>
<div class="col-xs-6">
  <div class="row">
    <div class="col-xs-2">Column 2-a</div>
    <div class="col-xs-10">Column 2-b</div>
  </div>
</div>

Mỗi bộ div được lồng cũng kéo dài tới 12 cột của div cha. LƯU Ý: Vì mỗi .collớp có phần đệm 15px ở hai bên, bạn nên thường bọc các cột lồng nhau trong một .row, có lề -15px. Điều này tránh trùng lặp phần đệm và giữ cho nội dung được xếp thành hàng giữa các lớp col lồng nhau và không lồng nhau.

- Bạn không hỏi cụ thể về xs, sm, md, lgcách sử dụng, nhưng chúng luôn song hành với nhau để tôi không thể không chạm vào nó ...

Nói tóm lại, chúng được sử dụng để xác định kích thước màn hình mà lớp đó nên áp dụng:

  • xs = màn hình nhỏ thêm (điện thoại di động)
  • sm = màn hình nhỏ (máy tính bảng)
  • md = màn hình trung bình (một số máy tính để bàn)
  • lg = màn hình lớn (máy tính để bàn còn lại)

Đọc chương " Tùy chọn lưới " từ tài liệu chính thức của Bootstrap để biết thêm chi tiết.

Bạn thường nên phân loại một div bằng cách sử dụng nhiều lớp cột để nó hoạt động khác nhau tùy thuộc vào kích thước màn hình (đây là trung tâm của những gì làm cho bootstrap phản ứng nhanh). ví dụ: một div có các lớp col-xs-6col-sm-4sẽ kéo dài một nửa màn hình trên điện thoại di động (xs) và 1/3 màn hình trên máy tính bảng (sm).

<div class="col-xs-6 col-sm-4">Column 1</div> <!-- 1/2 width on mobile, 1/3 screen on tablet) -->
<div class="col-xs-6 col-sm-8">Column 2</div> <!-- 1/2 width on mobile, 2/3 width on tablet -->

LƯU Ý: theo nhận xét bên dưới, các lớp lưới cho kích thước màn hình nhất định áp dụng cho kích thước màn hình đó và lớn hơn trừ khi một tuyên bố khác ghi đè lên nó (tức là col-xs-6 col-md-4kéo dài 6 cột trên xs sm , và 4 cột trên md lg , mặc dù smlgkhông bao giờ được khai báo rõ ràng)

Chú ý: nếu bạn không xác định xs, nó sẽ mặc định col-xs-12(tức col-sm-6là một nửa chiều rộng trên sm, mdlgmàn hình, nhưng đầy đủ chiều rộng trên xsmàn hình).

LƯU Ý: nó thực sự hoàn toàn tốt nếu bạn .rowbao gồm hơn 12 cols, miễn là bạn biết họ sẽ phản ứng như thế nào. - Đây là một vấn đề gây tranh cãi, và không phải ai cũng đồng ý.


38
Cũng đáng lưu ý rằng các lớp lưới cho một kích thước màn hình nhất định áp dụng cho các màn hình có kích thước lớn hơn và lớn hơn , trừ khi bị ghi đè thêm. Ví dụ, .col-xs-2.col-sm-2.col-lg-7tương đương với. col-xs-2.col-lg-7
cvrebert

5
Bạn cần chỉnh sửa ví dụ của bạn về lồng nhau. Lồng nhau yêu cầu một hàng được chèn vào cột mà bạn đang lồng các cột khác bên trong. Không thêm một hàng sẽ khiến bạn có đệm đôi. Để hiểu rõ hơn về điều này, hãy xem sơ đồ trong câu trả lời của tôi ở đây: stackoverflow.com/questions/23899715/
dọa

1
lời giải thích rất hay, cảm ơn. Tôi thích một chút về việc bọc .colstrong .rowđể tránh và đệm lót. Tôi đã luôn tự hỏi tại sao để sử dụng hàng và nó có gì khác biệt.
Rishiraj Purohit

Nhưng trong tài liệu có vẻ như tổng chiều rộng của div vượt quá 12, tối đa 18 cho 'xs'. Xin hãy xem phần 'Hỗn hợp: di động và máy tính để bàn' và tại sao nó lại như vậy? getbootstrap.com/docs/3.3/examples/grid
Michel

@Michel có vẻ như bạn đang hiểu nhầm tài liệu của họ. họ đang hiển thị hai tùy chọn xs riêng biệt ở đó - một cho 12 cột (chiều rộng đầy đủ) và một cho 6 cột (nửa chiều rộng). Bạn sẽ thấy rằng các cột đó cũng hiển thị lg-8 và lg-4 - những gì chúng hiển thị cho bạn là chúng sẽ trải dài 8 và 4 cột (2/3 + 1/3 tổng chiều rộng) trên màn hình lớn và 12 và 6 (chiều rộng đầy đủ + 1/2 hàng sau) trên màn hình điện thoại. Hy vọng rằng sẽ giúp!
Shawn Taylor

46

Hệ thống lưới Bootstrap có bốn lớp:
xs (cho điện thoại)
sm (cho máy tính bảng)
md (cho máy tính để bàn)
lg (cho máy tính để bàn lớn hơn)

Các lớp ở trên có thể được kết hợp để tạo ra bố cục năng động và linh hoạt hơn.

Mẹo: Mỗi lớp tăng tỷ lệ, vì vậy nếu bạn muốn đặt cùng độ rộng cho xs và sm, bạn chỉ cần chỉ định xs.

OK, câu trả lời là dễ, nhưng đọc tiếp:

col-lg- là viết tắt của cột lớn ≥ 1200px
col-md- là viết tắt của cột trung bình ≥ 992px
col-xs- là viết tắt của cột cực nhỏ≥ 768px

Số pixel là điểm dừng, vì vậy, ví dụ như col-xsnhắm mục tiêu phần tử khi cửa sổ nhỏ hơn 768px (có thể là thiết bị di động) ...

Tôi cũng tạo ra hình ảnh dưới đây để thấy cách thức hoạt động hệ thống lưới điện, trong ví dụ này tôi sử dụng chúng với 3, như col-lg-6để chỉ cho bạn cách làm việc hệ thống lưới điện trong trang, nhìn vào như thế nào lg, mdxsluôn nhiệt tình với kích thước cửa sổ:

Hệ thống lưới Bootstrap, col - * - 6


col-xs-*đã được bỏ trong Bootstrap 4 để ủng hộcol-*
Zohab Ali

Bạn có vui lòng chia sẻ HTML (và có thể bất kỳ CSS nào không)? Cảm ơn.
NoChance

11

Điểm chính là đây:

col-lg-* col-md-* col-xs-* col-sm xác định có bao nhiêu cột trong các kích thước màn hình khác nhau này.

Ví dụ: nếu bạn muốn có hai cột trong màn hình máy tính để bàn và trong màn hình điện thoại, bạn đặt hai col-md-6và hai col-xs-6lớp vào cột của mình.

Nếu bạn muốn có hai cột trong màn hình máy tính để bàn và chỉ có một cột trong màn hình điện thoại (tức là hai hàng xếp chồng lên nhau) bạn đặt two col-md-6và hai col-xs-12cột trong các cột của bạn và vì tổng số sẽ là 24 cột, chúng sẽ tự động xếp chồng lên nhau khác, hoặc chỉ để lại xsphong cách.



6

Bạn đi đây

col-lg-2: nếu màn hình lớn ( lg ) thì thành phần này sẽ chiếm không gian của 2 phần tử xem xét toàn bộ hàng có thể phù hợp với 12 phần tử (vì vậy bạn sẽ thấy rằng trên màn hình lớn, thành phần này chiếm 16% không gian của một hàng)

col-lg-6: nếu màn hình lớn ( lg ) thì thành phần này sẽ chiếm không gian 6 yếu tố xem xét toàn bộ hàng có thể phù hợp với 12 yếu tố - khi áp dụng bạn sẽ thấy thành phần đó đã chiếm một nửa không gian có sẵn trong hàng.

Quy tắc trên chỉ được áp dụng khi màn hình lớn. khi màn hình nhỏ, quy tắc này sẽ bị loại bỏ và chỉ có một thành phần trên mỗi hàng được hiển thị.

Dưới đây hình ảnh cho thấy chiều rộng kích thước màn hình khác nhau:

định nghĩa kích thước màn hình

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.