Giữ mục giữa làm trung tâm khi các mặt hàng phụ có độ rộng khác nhau
Hãy tưởng tượng bố trí sau, nơi các dấu chấm đại diện cho khoảng cách giữa các ô:
[Left box]......[Center box]......[Right box]
Khi tôi loại bỏ các hộp bên phải, tôi thích hộp trung tâm vẫn ở trung tâm, như vậy:
[Left box]......[Center box].................
Điều tương tự cũng xảy ra nếu tôi xóa hộp bên trái.
................[Center box].................
Bây giờ khi nội dung trong hộp trung tâm dài hơn, nó sẽ chiếm nhiều không gian khi cần thiết trong khi vẫn căn giữa. Hộp bên trái và bên phải sẽ không bao giờ co lại và do đó khi không còn chỗ trống, overflow:hidden
và text-overflow: ellipsis
sẽ có hiệu lực để phá vỡ nội dung;
[Left box][Center boxxxxxxxxxxxxx][Right box]
Tất cả những điều trên là tình huống lý tưởng của tôi, nhưng tôi không biết làm thế nào để đạt được hiệu ứng này. Bởi vì khi tôi tạo cấu trúc flex như vậy:
.parent {
display : flex; // flex box
justify-content : space-between; // horizontal alignment
align-content : center; // vertical alignment
}
Nếu hộp bên trái và bên phải có cùng kích thước, tôi sẽ có được hiệu quả mong muốn. Tuy nhiên khi một trong hai là từ một kích thước khác nhau hộp trung tâm là không thực sự trung tâm nữa.
Có ai có thể giúp tôi không?
Cập nhật
Một justify-self
sẽ được tốt đẹp, đây sẽ là lý tưởng:
.leftBox {
justify-self : flex-start;
}
.rightBox {
justify-self : flex-end;
}
Về cơ bản ... bạn không thể. Đó không phải là cách 'flexbox' được cho là hoạt động. Bạn có thể thử phương pháp khác. –
Sẽ thực sự hoàn thành flexbox nếu nó đã làm tho. Nguyên nhân flexbox là tất cả về phân phối không gian và cách các mục hoạt động bên trong. – Mark
Chúng tôi đã thảo luận về 'biện minh-self' trước đó ngày hôm nay, vì vậy bạn có thể thấy điều này thú vị: http://stackoverflow.com/questions/32551291/for-css-flexbox-why-are-there-no-justify-items-and- justify-self-properties –