2012-10-15 28 views
7

Tôi đang cố gắng tạo bố cục linh hoạt trong CSS sẽ bọc theo độ phân giải của khách hàng.Chèn đệm giữa CSS Flex Items

Ví dụ, trên một ipad trong cảnh quan (1024px rộng), tôi muốn hiển thị như sau:

enter image description here

Nhưng trên playbook trong bức chân dung (600px rộng), tôi muốn để hiển thị như sau:

enter image description here

tôi có hầu như tất cả mọi thứ làm việc trừ lề 20px. Tôi dường như không thể tìm ra cách xác định lề cho các phần tử được bao bọc.

Đây là mã của tôi:

HTML:

<div class="box-row-fluid"> 
    <div class="col">Box 1</div> 
    <div class="col">Box 2</div> 
</div> 

CSS:

.box-row-fluid { 
    display: -webkit-flex; 
    -webkit-flex-flow: row wrap; 
} 

.box-row-fluid > .col { 
    -webkit-flex: 1 400px; 
    background: #fff; 
} 

Mã giả định rằng trình duyệt là một trình duyệt webkit hợp lệ.

Tôi sẽ đánh giá cao một số trợ giúp. Cảm ơn bạn đã dành thời gian.

+0

Trình duyệt webkit hợp lệ là gì? – BoltClock

+0

Tôi gọi một trình duyệt webkit cập nhật, trong đó các hộp flexbox được hỗ trợ đầy đủ "trình duyệt webkit hợp lệ". – Markus

+0

bạn đã xem xét biện minh cho nội dung trong flexbox chưa? tôi nghĩ rằng đó là tài sản bạn đang tìm kiếm – Jesse

Trả lời

2

Bạn chắc chắn có thể làm điều đó như thế này My Fiddle (Edited background color cho tầm nhìn margin)

CSS

.col:nth-child(1) { 
    margin-bottom: 20px; 
} 

Để thêm một chênh lệch giữa 2 div ngang bạn có thể sử dụng @media query cho độ phân giải đặc biệt và thêm margin-right: 20px; cho người kia

Giải thích: Sử dụng :nth-child(1) vì bạn đang sử dụng class="col" cho cả hai <div>

+0

Điều này chỉ hoạt động cho các kịch bản mà các hộp được bọc. Khi mã này xuất hiện trên màn hình rộng nơi các hộp xuất hiện cạnh nhau, hộp 2 xuất hiện cao hơn hộp 1. – Markus

-1

Tại sao bạn không bao gồm trình khởi động twitter?

Nó sẽ làm việc với điều này để làm việc sau đó.

<div class="row-fluid"> 
    <div class="span6"> 
     Content box 1 
    </div> 
    <div class="span6"> 
     Content box 1 
    </div> 
</div> 

Điều duy nhất bạn cần bao gồm là "hệ thống lưới" rất nhỏ và hoạt động tuyệt vời!

+5

Anh ấy đã có flexbox hoạt động và không yêu cầu thêm chi phí. – dgarbacz

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