Tôi đã chơi với điều này đẹp CSS Flexbox demo page và tôi hiểu hầu hết các khái niệm, tuy nhiên tôi đã không thể nhìn thấy flex-shrink
trong công việc. Bất kể cài đặt nào tôi áp dụng ở đó, tôi thấy không có sự khác biệt nào trên trang.Trong trường hợp nào là flex-shrink áp dụng cho các thành phần flex và nó hoạt động như thế nào?
Từ spec:
< 'flex-phát triển'>
longhand 'mọc flex' Thành phần này tập hợp và xác định flex phát triển yếu tố, trong đó xác định có bao nhiêu mục flex sẽ phát triển liên quan đến phần còn lại của các mặt hàng flex trong hộp chứa flex khi phân phối không gian trống tích cực . Khi bị bỏ qua, nó được đặt thành ‘1’.
< 'flex co'>
longhand 'co flex' Thành phần này tập hợp và quy định cụ thể các yếu tố flex co, mà quyết định bao nhiêu mục flex sẽ thu nhỏ tương đối so với phần còn lại của mục flex trong hộp chứa flex khi không gian âm được phân phối. Khi bị bỏ qua, nó được đặt thành ‘1’. Hệ số co ngót flex được nhân với cơ sở flex khi phân phối không gian âm.
Trường hợp nào sẽ áp dụng flex-shrink
(tức là khi không gian âm được phân phối)? Tôi đã thử trang tùy chỉnh với chiều rộng thiết lập trên phần tử flexbox và (min-) chiều rộng của các phần tử bên trong nó để tạo tràn, nhưng có vẻ như nó không phải là trường hợp được mô tả.
Tất cả đã được hỗ trợ chưa?
Là giải pháp, một tập hợp các tùy chọn trên bản trình diễn được liên kết hoặc bản trình diễn trực tiếp giống như JSFiddle sẽ được đánh giá cao.
Thực ra có vẻ như vấn đề là do triển khai của Chrome. Đã thử Firefox Nightly và trong các tình huống tràn, flex-shrink được áp dụng. Tôi sẽ đăng bản trình diễn sớm. –
Bạn có chắc chắn không? Dường như không có sự khác biệt giữa tốc ký flex và viết ra tất cả 3 trong Chrome (flex-shrink/flex-grow/flex-base): http://jsfiddle.net/GyXxT/1/ – cimmanon
Tôi đã sử dụng các kích thước rất nhỏ của flex-base tính bằng pixel và Chrome đã giải thích nó khác với Firefox. –