2016-03-14 26 views
9

tôi đang cố gắng để tạo ra một danh sách theo chiều ngang của thẻ nơi 3 thẻ được hiển thị tại một thời điểm và những người khác là theo chiều ngang cuộn, như thế này:danh sách theo chiều ngang cuộn các thẻ trong Bootstrap

Horizontally scrollable list of cards

này có thể được thực hiện với CSS khá dễ dàng, nhưng tôi muốn làm điều này bằng cách sử dụng Bootstrap. Bootstrap 4 ships with cards được phổ biến bởi thiết kế material design và chúng dễ sử dụng như bất kỳ thứ gì khác trong Bootstrap. Đối với ví dụ này thay vì thẻ, nó cũng có thể là div thường xuyên. Điều tôi đang vật lộn với việc tạo ra một hộp chứa các thẻ X (hoặc div) có thể cuộn được khi 3 trong số chúng được hiển thị tại một thời điểm và những người khác tràn vào bên phải và có thể cuộn được. Tôi không chắc chắn làm thế nào để sử dụng Bootstrap cung cấp cho các thẻ (hoặc divs) một chiều rộng để 3 được hiển thị tại một thời gian và những người khác nằm bên cạnh họ bên phải.

Trả lời

1

Bạn có thể sử dụng bootstrap-horizon

Lắp đặt

Bao gồm bootstrap-horizon.css sau bootstrap.css

<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.1/css/bootstrap.min.css"> 
<link rel="stylesheet" href="/bower_components/bootstrap-horizon/bootstrap-horizon.css"> 

Thêm lớp .row-horizon-.rows đòi hỏi di chuyển ngang. Để cải thiện UX, bootstrap-horizon ghi đè các lớp học .col-*-* của bootstrap để làm cho đường cơ sở có chiều rộng 90% thay vì 100% cho phép một phần nhỏ của cột cuối cùng được hiển thị.

<div class="row row-horizon"> 
    <div class="col-xs-6 col-sm-4 col-md-3 col-lg-2"> 
    ... 
    </div> 
</div> 

Ví dụ

enter image description here

+2

Cảm ơn! Tôi không chấp nhận câu trả lời của bạn vì tôi đã tìm ra cách để làm điều đó "tự nhiên" trong Bootstrap 4 mà tôi sẽ đăng sau. Kính gửi các googlers, những người đang bực bội rằng tôi chưa bao giờ đăng giải pháp của tôi: Ý tưởng là nó đặt một cỗ bài vào một con mèo. thùng chứa có thể cuộn và mở rộng thẻ nhớ sao cho số thẻ chính xác sẽ được hiển thị. – Lukas

+1

@Lukas Xin chào! Tôi có cùng một vấn đề như bạn, bạn có thể đăng giải pháp gốc của chúng tôi không? Một số mã sẽ là tuyệt vời nếu bạn vẫn còn có nó –

+1

@VivienAdnot sử dụng các tiện ích flexbox mới như [giải thích trong câu trả lời của tôi] (http://stackoverflow.com/a/42117768/171456) – ZimSystem

4

Bây giờ Bootstrap 4 Alpha 6 sử dụng flexbox, bố trí cuộn ngang này là dễ dàng hơn nhiều. Bạn chỉ có thể sử dụng flex-rowflex-nowrap:

<div class="container-fluid"> 
    <div class="row flex-row flex-nowrap"> 
     <div class="col-3"> 
      <div class="card card-block">Card</div> 
     </div> 
     <div class="col-3"> 
      <div class="card card-block">Card</div> 
     </div> 
     <div class="col-3"> 
      <div class="card card-block">Card</div> 
     </div> 
     <div class="col-3"> 
      <div class="card card-block">Card</div> 
     </div> 
     ... 
    </div> 
</div> 

https://www.codeply.com/go/GoFQqQAFhN

Update 2018 Bootstrap 4.0.0

Các phương pháp trên vẫn hoạt động, hoặc bạn có thể sử dụng utils flexbox trong container của thẻ: https://www.codeply.com/go/PF4APyGj7F

+0

liên kết mã hóa không hiển thị ví dụ của bạn ... Bạn có thể cập nhật lên bootstrap 4-beta2 nếu cần thay đổi không? – IlGala

+1

Tôi đã cập nhật liên kết. Nên giống nhau cho bản beta 2. – ZimSystem

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