tôi là tạo ra một danh sách nhiều cột bằng cách sử dụng hướng dẫn từ bài viết này:Overflow: hidden làm gì đối với thẻ ul?
http://csswizardry.com/2010/02/mutiple-column-lists-using-one-ul/
Tóm lại, nó nói để làm điều gì đó dọc theo dòng này:
HTML:
<div class='block'>
<ul>
<li>
Item1
</li>
<li>
Item2
</li>
<li>
Item3
</li>
</ul>
</div>
CSS:
.block {
border: 1px solid black;
padding: 10px;
}
.block ul {
width: 100%;
overflow: hidden;
}
.block ul li {
display: inline;
float: left;
width: 50%;
}
Và nó hoạt động tuyệt vời, nhưng tôi đã bĩu môi tại tràn: khai báo CSS ẩn.
Nếu không có nó, div bên ngoài của tôi sụp đổ như vậy:
http://jsfiddle.net/alininja/KQ9Nm/1/
Khi nó bao gồm, div ngoài cư xử chính xác như thế nào tôi sẽ muốn nó được:
http://jsfiddle.net/alininja/KQ9Nm/2/
Tôi tự hỏi tại sao overflow: hidden đang kích hoạt hành vi này. Tôi hy vọng nó sẽ cắt các đồ vật li bên trong thay vì buộc div bên ngoài mở rộng đến chiều cao cần thiết.
Cảm ơn bạn đã tìm kiếm!
Rất thú vị. Trên thực tế, nếu bạn thay đổi 'overflow: hidden' thành' overflow: auto' nó vẫn hoạt động. Ước gì tôi có thể giải thích tại sao, nhưng đó là một tìm kiếm rất thú vị. Cảm ơn. –
Có lẽ bài viết này có thể làm sáng tỏ một số thứ: http://colinaarts.com/articles/the-magic-of-overflow-hidden/ –
Nó sẽ cắt các mục li bên trong nếu bạn chỉ định chiều cao cho nó. Đây không phải là hành vi của 'overflow: hidden' vì nó là hành vi của' float: left/right'. – Shmiddty