Có hai loại sụp đổ lề chính:
- Thu hẹp lề giữa các yếu tố liền kề
- Thu gọn lề giữa các yếu tố cha mẹ và con
Sử dụng một miếng đệm hoặc đường viền sẽ ngăn chặn sự sụp đổ chỉ trong trường hợp sau. Ngoài ra, bất kỳ giá trị nào overflow
khác với giá trị mặc định ( visible
) được áp dụng cho cha mẹ sẽ ngăn chặn sự sụp đổ. Như vậy, cả hai overflow: auto
và overflow: hidden
sẽ có tác dụng như nhau. Có lẽ sự khác biệt duy nhất khi sử dụng hidden
là hậu quả không lường trước của việc ẩn nội dung nếu cha mẹ có chiều cao cố định.
Các thuộc tính khác, một khi được áp dụng cho cha mẹ, có thể giúp khắc phục hành vi này là:
float: left / right
position: absolute
display: inline-block / flex
Bạn có thể kiểm tra tất cả chúng ở đây: http://jsfiddle.net/XB9wX/1/ .
Tôi nên thêm rằng, như thường lệ, Internet Explorer là ngoại lệ. Cụ thể hơn, trong IE 7 lề không sụp đổ khi một số loại bố cục được chỉ định cho phần tử cha, chẳng hạn như width
.
Nguồn: Bài viết của Sitepoint Thu gọn lề