Câu trả lời của tôi:
<style>
#whatever div {
display: inline;
margin: 0 1em 0 1em;
width: 30%;
}
</style>
<div id="whatever">
<div>content</div>
<div>content</div>
<div>content</div>
</div>
Tại sao?
Về mặt kỹ thuật, Span là một phần tử nội tuyến, tuy nhiên nó có thể có chiều rộng, bạn chỉ cần đặt thuộc tính hiển thị của chúng thành khối trước. Tuy nhiên, trong bối cảnh này, một div có lẽ thích hợp hơn, vì tôi đoán bạn muốn điền nội dung vào các div này.
Một điều bạn chắc chắn không muốn làm là clear:both
đặt trên div. Đặt nó như vậy sẽ có nghĩa là trình duyệt sẽ không cho phép bất kỳ phần tử nào nằm trên cùng một dòng với chúng. Kết quả là các phần tử của bạn sẽ xếp chồng lên nhau.
Lưu ý, việc sử dụng display:inline
. Điều này giải quyết lỗi tăng gấp đôi lợi nhuận của ie6. Bạn có thể giải quyết vấn đề này theo những cách khác nếu cần, chẳng hạn như bảng định kiểu có điều kiện.
Tôi đã thêm một trình bao bọc (#w Anything) vì tôi đoán đây sẽ không phải là các phần tử duy nhất trên trang, vì vậy gần như chắc chắn bạn sẽ cần phải tách chúng khỏi các phần tử trang khác.
Dù sao, tôi hy vọng điều đó hữu ích.