2015-03-19 31 views
13

Tôi đang sử dụng flexbox để bố cục một trang vì hành vi ngày càng tăng là rất hữu ích. Nhưng tôi muốn hoàn toàn ngăn chặn hành vi thu hẹp .Ngăn không cho hộp thu nhỏ bị thu hẹp

Dù sao để quản lý việc này?

Ví dụ mã:

<div class="flex-vertical-container"> 
    <div class="flex-box"> 
     This one should grow but not shrink 
    </div> 
    <div></div> 
    <div></div> 
</div> 

CSS

.flex-vertical-container { 
    display: flex; 
    flex-direction: column; 
} 

.flex-box { 
    flex: 1; 
} 

Trả lời

23

Cố gắng thiết lập các flex-shrink tài sản để 0 trên .flex-box.

+0

Vì một số lý do thiết lập 'flex-shrink: 0;' không hoạt động, nhưng thiết lập thủ công: 'flex-shrink: 1 0 auto;' đã làm việc tốt ... –

+1

flex-shrink: 1 0 auto; dường như không phải là tài sản hợp lệ. –

+2

chúng có thể có nghĩa là 'flex: 1 0 auto;' –

11

Thêm min-width với bất kỳ thứ gì bạn muốn có giá trị nhỏ nhất có thể có của hộp. Flexbox sẽ không thu nhỏ chiều rộng dưới độ rộng tối thiểu.

+0

min-width hoạt động tốt, nhưng trong thiết kế đáp ứng nó không điều chỉnh với không gian nếu nó nhỏ hơn mức quy định. flex-thu nhỏ là không làm việc cho tôi ở tất cả mặc dù. –

+0

Ngoài ra, safari vẫn sử dụng tài sản có chiều rộng tối thiểu cho hành vi flexbox, dẫn đến các vấn đề về trình duyệt chéo lạ giữa IE - Safari và 'phần còn lại'. Kiểm tra các ghi chú trên tôi có thể sử dụng: http://caniuse.com/#search=flexbox – Silom

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