2012-04-24 33 views
29

Tôi đang làm việc với dự án Bootstrap đầu tiên của mình và bị kẹt một chút. Ở đầu trang, tôi muốn có biểu tượng ở bên trái và 2 nút ở bên phải được xếp chồng lên nhau. Đây là những gì tôi có cho đến thời điểm này:Ngăn các cột chất lỏng bị phá vỡ thành dòng mới trên màn hình iPhone

<div class="container-fluid"> 
    <div class="row-fluid"> 
    <div class="span4"> 
     <img src="/img/logo.png" width="120" /> 
    </div> 
    <div class="span8"> 
     <a class="btn btn-large" href="#" style="width:100%;"><i class="icon-map-marker"></i> Find Location</a><br /> 
     <a class="btn btn-large" href="#" style="width:100%;"><i class="icon-comment"></i> Call Now</a>  
    </div> 
    </div> 
</div> 

Nó hoạt động như mong đợi trên máy tính để bàn, nhưng tôi trên iPhone, cột span8 bị hỏng và xuất hiện trên dòng tiếp theo. Có cách nào để ghi đè điều này không?

Trả lời

23

Đó là hành vi mong đợi của lưới đáp ứng, bạn có thể thấy hiệu ứng tương tự xảy ra trên trang tài liệu khởi động (đặc biệt trên bản trình diễn scaffolding) khi bạn đổi kích thước màn hình. Bạn có thể khắc phục điều này bằng cách tạo lớp của riêng bạn để bao gồm bên trong các thẻ span bạn muốn giữ cạnh nhau trên thiết bị di động và chúng tôi có thể đầu nó bằng cách gói nó vào truy vấn phương tiện được kích hoạt trên thiết bị di động có màn hình kích thước 480px hoặc thấp hơn (aka, một iphone), theo cách này nó sẽ không ảnh hưởng đến lưới đáp ứng của máy tính để bàn cho đến khi nó đạt đến giới hạn đó.

CSS

@media all and (max-width: 480px) { 
    .half { 
     float: left !important; 
     width: 50% !important; 
    } 
} 

Demo, hãy thử xem demo này trên thiết bị di động của bạn, http://jsfiddle.net/r5VCy/1/show/.

+0

Ví dụ liên kết đầu tiên không hoạt động nữa, mặc dù nó nên được như vậy ... –

+0

@hugoderhungrige cái nào? Kiểm tra các liên kết và chúng xuất hiện cho tôi –

+0

cả hai ... nó (phá vỡ một dòng mới) dường như xảy ra ở độ rộng cụ thể, khi cả hai phần tử đều có chiều rộng cao hơn vùng chứa và trước khi kiểu phương tiện được kích hoạt, nhưng ở độ phân giải 480px và dưới nó hoạt động, vì vậy xấu của tôi ... –

25

Trong Bootstrap 3, có một bộ CSS mới cho giàn giáo, và chúng bao gồm các tính năng cho phép bạn vô hiệu hóa việc xếp chồng trên màn hình nhỏ hơn.

Danh pháp CSS mới sử dụng "cột" thay vì "kéo dài" và chúng có nhiều loại. Kiểu "col-xs-" (cực nhỏ) cho phép bạn thiết lập lưới không chồng lên ngay cả trên các thiết bị phụ nhỏ.

+0

Đây phải là câu trả lời được chấp nhận cho đến khi Bootstrap 4 trở thành phiên bản chính thức. – blackhawk

7

Chỉ muốn thêm vào ghi chú trên Bootstrap 3. Tôi đã gặp vấn đề tương tự với cột gói quá sớm và không giữ chiều rộng đủ dài ("col-lg-6" theo ví dụ 'mẫu khởi động'). Thay đổi nó thành "col-sm-6" đã làm các trick - tài liệu tham khảo cho mỗi kích thước là ở đây:

http://getbootstrap.com/css/#responsive-utilities

+0

đây là cách chính xác, vì việc bổ sung col và col-kích cỡ, như trong trích dẫn col-lg-6 so với col-sm-6 hoặc bất kỳ số nào là cần thiết. –

+0

Điều này thật tuyệt. Nhưng nếu bạn muốn các cột hoàn toàn không bao giờ ngăn xếp, bạn cần sử dụng 'xs', không phải' sm'. –

+0

Cảm ơn, điều này đã giúp tôi cũng như với một vấn đề khác, nơi các cột đã được chuyển đổi như kích thước màn hình co lại. – lfender6445

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