19

Tôi đang làm việc với Twitter Bootstrap v3 và muốn sắp xếp lại các yếu tố một cách có trách nhiệm, sử dụng column orderingoffsetting.Sắp xếp lại các div một cách có trách nhiệm với Twitter Bootstrap?

Đây là cách tôi muốn sử dụng các yếu tố của mình. Tại -xs hay -sm breakpoint, với div chứa xếp chồng lên nhau từ 4 đến liên tiếp:

enter image description here

tại -md hoặc -lg breakpoint, với div chứa xếp chồng lên nhau 2 đến liên tiếp:

enter image description here

Đây là mã hiện tại - Tôi biết cách đặt các lớp trên div chứa, nhưng không phải trên A, B và C:

<div class="row"> 
    <div class="containing col-xs-6 col-sm-6 col-md-3 col-lg-3"> 
     <div class="row"> 
     <div class="a col-xs-12 col-sm-12 col-md-6 col-lg-6">Content of A</div> 
     <div class="b col-xs-12 col-sm-12 col-md-6 col-lg-6">Content of B</div> 
     <div class="c col-xs-12 col-sm-12 col-md-6 col-lg-6">Content of C</div> 
     </div> 
    </div> 
    ... more containing divs... 
    </div> 

Tôi không thể tìm ra cách nhận A, B và C theo thứ tự đúng với số column orderingoffsetting của Bootstrap 3. Nó thực sự có thể?

Đây là như xa như tôi đã sử dụng JSFiddle: http://jsfiddle.net/3vYgR/

+0

Ý anh là gì bởi “xếp chồng lên nhau 4/2 để liên tiếp”? Bạn có nghĩa là phiên bản đầu tiên là 4 đơn vị cao và thứ hai là 2 đơn vị cao? Hoặc bạn có nghĩa là phiên bản đầu tiên có thể có 4 trong số các nhóm a-b-c đó trong một đường ngang và nhóm thứ hai có thể có 2? –

Trả lời

23

Tôi nghĩ rằng bạn muốn nhìn vào pushpull lớp ...

<div class="row"> 
    <div class="a col-xs-12 col-sm-12 col-md-6 col-lg-6 col-lg-push-6 col-md-push-6">Content of A</div> 
    <div class="b col-xs-12 col-sm-12 col-md-6 col-lg-6 col-lg-pull-6 col-md-pull-6">Content of B</div> 
    <div class="c col-xs-12 col-sm-12 col-md-6 col-lg-6 col-lg-push-6 col-md-push-6">Content of C</div> 
</div> 

Demo: http://bootply.com/77853

+4

Đó chính xác là những gì tôi muốn, cảm ơn bạn! Đối với bất cứ ai đọc ở đây là liên kết đến các tài liệu đẩy/kéo: http://getbootstrap.com/css/#grid-column-ordering mặc dù tôi vẫn không hoàn toàn hiểu chính xác những gì đẩy và kéo làm ... – Richard

+1

Ngoài ra, cảm ơn vì đã giới thiệu về http://bootply.com/ - rất hữu ích. – Richard

+1

Bạn chỉ cần lớp lưới mới khi có thay đổi như từ 12 cột xuống 6. Không cần col-sm- * hoặc col-lg- * vì chúng kế thừa xs và md tương ứng. –

1

Bất kỳ lý do gì để không sử dụng phương pháp truyền thống hơn về vấn đề này, ví dụ. nổi B trái và các yếu tố khác bên phải?

Giống như nếu bạn thêm này để CSS hiện tại jsfiddle của bạn:

.b { 
    float: left; 
    width: 50%; 
    height: 100px; 
} 
.a, .c { 
    float: right; 
    width: 50%; 
    height: 50px; 
} 

Xem http://jsfiddle.net/E6BFk/

Tôi không chắc chắn rằng cột đặt hàng Bootstrap của có thể thực hiện hiệu quả sắp xếp, có lẽ chỉ tái đặt hàng ... Mặc dù tài liệu khá mỏng về tính năng đó.

0

tôi đã cố gắng push/pull như trong câu trả lời của Skelly nhưng C kết thúc trong một hàng mới khi chiều cao được áp dụng: http://www.bootply.com/Q3djHYawgb#

Nếu B có thể được hiển thị trước khi được hiển thị ở kích thước nhỏ, tôi nghĩ sẽ tạo ra một hàng trong cột bên phải chứa A và C:

<div class="containing row"> 
    <div class="b col-xs-12 col-md-6">Content of B</div> 
    <div class="ac col-xs-12 col-md-6"> 
     <div class="row"> 
      <div class="a col-xs-12">Content of A</div> 
     </div> 
     <div class="row"> 
      <div class="c col-xs-12">Content of C</div> 
     </div> 
    </div> 
</div> 

Xem http://jsfiddle.net/hoodoo99/L2BE9/

+0

Ví dụ của bạn đặt A dưới B khi XS khởi động. –

0

Câu trả lời được cung cấp bởi @skelly là rất tốt điểm khởi đầu, nhưng không gây ra một số vấn đề liên kết dọc. Hãy tưởng tượng Một là một div cao, sau đó C được theo chiều dọc thẳng hàng dưới đây A .:

[A] [B] 
[ ] 
    [C] 

Ngoài ra, Nếu bạn muốn thực hiện việc này một bước xa hơn bạn cũng có thể cần phải xem xét sử dụng clearfix khối.Ví dụ;

<!-- Add clearfix for only the required viewport(s) --> 
<div class="clearfix visible-md-block visible-lg-block"></div> 

Without clearfixmd hoặc lg có thể kết thúc như:

[A] [B] 
    [C] [D] 

Điều này đặc biệt quan trọng nếu bạn muốn có nhiều hơn 2 yếu tố trong "cột" cuối cùng, hoặc những đỉnh cao của các yếu tố bắt đầu ném các yếu tố khác không liên kết.

Với clearfixmd hoặc lg sẽ là:

[A] [B] 
    [C] 
    [D] 

Ví dụ fiddle: http://jsfiddle.net/L5174o8d/

+0

Có cách nào để giải quyết vấn đề căn chỉnh dọc không? những gì tôi muốn là đối diện của điều này nhưng tôi có cùng một vấn đề align. ví dụ: https://jsfiddle.net/bqop535n/ – Wei

+0

Nếu tôi đã hiểu chính xác bạn thì bạn nên xóa clearfix và push/pulls, ví dụ: https://jsfiddle.net/qkaL02z8/ –

+0

https: // jsfiddle .net/qkaL02z8/1/add float nhận được những gì tôi cần. – Wei

Các vấn đề liên quan