9

Tôi đang cố gắng chuyển sang lưới điện 3 mới và tôi gặp phải một số khó khăn.Netstrap 3 của Twitter, thay đổi điểm ngắt và loại bỏ phần đệm

  1. Làm cách nào để lưới có ngăn xếp dưới 480px nhưng không nằm trong khoảng từ 480px đến 768px?
  2. phía trên 768px phần đệm bên trái của phần đầu tiên và phần đệm bên phải nằm ngoài vùng chứa, nhưng dưới 768px đệm nằm bên trong vùng chứa để giao diện khác vì nội dung không được căn chỉnh với vùng chứa có thể ở trên.
  3. khi lưới ngăn xếp padding vẫn nhưng với tôi nó nên có ít 0.

Bất kỳ trợ giúp sẽ được chào đón tôi đang sử dụng mã dưới đây với bootstrap 3 RC1

<div class="container" style="background-color: purple;"> 
container 

</div> 

<div class="container"> 
    <div class="row"> 
     <div style="background-color: red" class="col-4 col-sm-4 col-lg-4"><img data-src="holder.js/100%x200"></div> 
     <div style="background-color: blue" class="col-4 col-sm-4 col-lg-4"><img data-src="holder.js/100%x200"></div> 
     <div style="background-color: green" class="col-4 col-sm-4 col-lg-4"><img data-src="holder.js/100%x200"></div> 
    </div> 
</div> 
+1

Thực tế với tôi lưới là thiếu tập hợp col-ts- * (nhỏ đến nhỏ) của các lớp –

+0

Đây có thể là một lựa chọn cho bạn nếu bạn cần kiểm soát nhiều hơn cho các cột 'nhỏ': https: // gist. github.com/andyl/6360906. Nhưng giải pháp @ otopic với chiều rộng: 100%; cũng có thể phù hợp với yêu cầu của hầu hết mọi người về kích thước/kiểm soát cột thừa/thiếu này. –

Trả lời

16

cập nhật tháng một 2014

Xem thêm: https://github.com/twbs/bootstrap/issues/10203

update 21 aug 2013 Kể từ khi Twitter Bootstrap 3 RC2 được đề cập bên dưới đã được đổi tên thành xs-col- * Hiện có bốn lớp lưới: xs-col- * (di động, không bao giờ ngăn xếp), col-sm - * (máy tính bảng, ngăn xếp dưới 768px), col-md- * (máy tính xách tay, ngăn xếp dưới 992 px) và col-lg- * (máy tính để bàn, ngăn xếp dưới 1200px).

cập nhật Trong câu trả lời trước của tôi sử dụng bảng này từ các tài liệu gần đây:

[hình ảnh cũ bị gỡ bỏ]

Khi tôi kiểm tra các giá trị này nếu tìm thấy một cái gì đó khác nhau:

Bootstrap 3 Grid

  • "col-xs- *" wil l được áp dụng luôn (không bao giờ ngăn xếp)
  • "col-sm- *" sẽ được áp dụng từ 768 trở lên (992px) (ngăn xếp tại 767)
  • "col-lg- *" sẽ được áp dụng từ 992 trở lên (ngăn xếp tại 991)

Trong variables.less bạn sẽ tìm thấy:

// Media queries breakpoints 
// -------------------------------------------------- 

// Tiny screen/phone 
@screen-tiny:    480px; 
@screen-phone:    @screen-tiny; 

// Small screen/tablet 
@screen-small:    768px; 
@screen-tablet:    @screen-small; 

// Medium screen/desktop 
@screen-medium:    992px; 
@screen-desktop:    @screen-medium; 

Nhưng có vẻ không phải là một breakpoint tại 480 (hoặc như @fred_ nói lưới thiếu col- ts- * (nhỏ đến nhỏ) tập các lớp). Xem thêm: https://github.com/twbs/bootstrap/issues/9746

Để đặt điểm xếp ở 480px, bạn sẽ phải biên dịch lại css của bạn. Đặt @ màn hình nhỏ thành 480px; và xác định cols của bạn với: <div style="background-color: red" class="col-sm-4"> sau đó. Lưu ý điều này sẽ thay đổi @ lưới-float-breakpoint cũng gây ra nó được định nghĩa là @grid-float-breakpoint: @screen-tablet;.

Khi thêm hàng vào vùng chứa, tôi không tìm thấy vấn đề với đệm.

Hoặc thử: http://www.bootply.com/70212 nó sẽ ngăn xếp dưới 480px thêm một truy vấn phương tiện truyền thông (javascript được sử dụng để chỉ minh họa)

câu trả lời trước

Từ nay của Twitter Bootstrap định nghĩa ba lưới: lưới Tiny cho Điện thoại (< 480px), Lưới nhỏ cho máy tính bảng (< 768px) và lưới trung bình lớn cho Destkops (> 768px). Tiền tố lớp hàng cho các lưới này là “.col-”, “.col-sm-” và “.col-lg-”. Lưới trung bình lớn sẽ xếp dưới chiều rộng màn hình 768 pixel. Vì vậy, các lưới nhỏ dưới 480 pixel và lưới nhỏ không bao giờ ngăn xếp.

Với tiền tố "col-4" của bạn, lưới sẽ không bao giờ được xếp chồng. Vì vậy, loại bỏ "col-4" để cho lưới của bạn ngăn xếp dưới 480px. Điều này cũng sẽ loại bỏ nguyên nhân đệm là ngăn xếp ngay bây giờ.

Xem thêm: http://bassjobsen.weblogs.fm/migrate-your-templates-from-twitter-bootstrap-2-x-to-twitter-bootstrap-3/Writing Twitter's Bootstrap with upgrading to v3 in mind

+0

Thx Bass, nhưng nó hoạt động. với col-4 nó không ngăn xếp, mà không có col-4 nó bắt đầu xếp một 768px, tôi muốn nó bắt đầu xếp dưới 480px và vẫn nằm ngang ở trên. Về phía tôi, nó không loại bỏ phần đệm cũng như –

+0

cảm ơn vì câu trả lời của bạn, tôi sẽ xem xét nó ngay bây giờ –

+2

@fred_ đề xuất từ ​​Bass làm việc cho tôi để xếp chồng, vui lòng xem http: //www.bootply .com/70143, cũng lưu ý làm thế nào padding trông khi bạn áp dụng màu sắc cho các yếu tố tương tự (tức là col và col, không chứa và col). –

4
  1. Sử dụng lớp .col-ts-12 cho tất cả 100% divs dưới 480 và đặt mã này vào cuối bootstrap.css:

    @media (max-width: 480px) { .col-ts-12 { float: none; } }

+2

đây là điểm ngắt tốt đẹp, bạn cần thêm 'width: 100%' vào nó – keeg

0

Để thực hiện bất kỳ thay đổi nào cho các thiết bị nhỏ đến nhỏ, bạn sẽ cần bao gồm các truy vấn phương tiện của riêng bạn để thêm các điểm ngắt bổ sung của riêng bạn.

Ví dụ:

@media (max-width: 480px) { 
    .no-float { 
     display:block; 
     float:none; 
     padding:0; 
    } 
} 

Tôi không hoàn toàn chắc chắn những gì bạn đang cố gắng để đạt được với điều này, nhưng đây là cách bạn sẽ áp dụng phong cách nơi chiều rộng màn hình dưới 480.

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