Với HTML sau:trẻ em Flex-box lờ bọc của (biên độ sụp đổ)
<div class="outer">
<div>
<div class="inner">A</div>
</div>
</div>
<div class="outer">
<div class="inner">B</div>
</div>
và CSS sau đây (prefix miễn phí):
.outer {
display: box;
box-orient: vertical;
height: 100px;
width: 100px;
background: red;
margin: 10px;
}
.inner {
height: 50px;
margin-top: 10px;
background: green;
}
Đây là một CodePen.
A
được gói trong <div>
để lề của thẻ bị bỏ qua.
Hỏi: Làm cách nào để có thể đạt được hành vi của B
đối với A
(lề) với mô hình hộp flex?
Lưu ý: Các wrappers div có thể đi nhiều cấp độ sâu
Nhắm mục tiêu: Chrome mới nhất/Safari/iOS
Cảm ơn bạn rất nhiều vì sự giúp đỡ của bạn!
Edit: Nhờ @ JoséCabo tôi đến với điều này:
.outer {
display: flex;
flex-direction: column;
height: 100px;
width: 100px;
background: red;
margin: 10px;
}
.inner {
height: 50px;
margin-top: 10px;
background: green;
}
Chrome:
Safari:
Đáng tiếc là nó không hoạt động trong Safari như đã đề cập bởi @cimmanon, vì vậy tôi vẫn cần một số lp.
Bạn có biết rằng hộp API bị phản đối? Bạn phải sử dụng display: flex; thay vào đó. –
Bạn muốn nhận kết quả nào? Xin lỗi, nhưng tôi không hiểu bạn. –
@ JoséCabo Các thuộc tính nên được sử dụng * rất nhiều * phụ thuộc vào trình duyệt bạn đang nhắm mục tiêu. Ví dụ, Safari theo một trong các thông số kỹ thuật cũ hơn. – cimmanon