Tôi gặp sự cố với hộp tổ hợp CSS3.Hiển thị: Flex mất đệm phải khi bị tràn?
Nếu tôi đặt phần tử flexbox thành overflow
và đặt giá trị min-width
cho trẻ em, phần đệm phải trên bố mẹ bị mất? Điều này nhất quán trên tất cả các trình duyệt hỗ trợ.
Đây là ví dụ về lỗi. Nếu bạn di chuyển sang bên phải của thùng chứa, bạn sẽ thấy đứa trẻ cuối cùng cứng lên trên cạnh phải của vùng chứa thay vì tôn vinh giá trị đệm.
.outer {
display: flex;
flex-direction: row;
width: 300px;
height: 80px;
border:1px #ccc solid;
overflow-x: auto;
padding: 5px;
}
.outer > div {
flex: 1 1 auto;
border: 1px #ccc solid;
text-align: center;
min-width: 50px;
margin: 5px;
}
<div class="outer">
<div>text1</div>
<div>text2</div>
<div>text3</div>
<div>text4</div>
<div>text5</div>
<div>text6</div>
<div>text7</div>
<div>text8</div>
<div>text9</div>
<div>text10</div>
</div>
Có ai biết tại sao điều này là gì và làm thế nào tôi sẽ đi về sửa chữa nó? Tôi đã rối tung với các giá trị padding
và margin
trong các kết hợp khác nhau mà không thành công.
Ít nhất trong Firefox, đây không phải là một hành vi flexbox cụ thể - nó sẽ xảy ra với bố trí khối là tốt, và là đúng theo quy định của CSS spec. Xem https://bugzilla.mozilla.org/show_bug.cgi?id=748518 để biết thêm. – dholbert
Cảm ơn vì điều đó tôi đã không chắc chắn nếu nó là một cái gì đó cụ thể để flex. –