2012-02-02 24 views
14

Định vị CSS/html chuẩn của các phần tử "đang chảy" nằm ngang (hàng dựa) =>float:left ;. Tôi cần phải làm gì, để định vị chúng như trong ví dụ bên dưới (kiểu cột). Có thẻ CSS nào để đặt cái này ở đâu đó không? (Lý tưởng nhất là tôi không muốn thiết lập một mạng lưới, điều này sẽ xảy ra theo cùng một cách tự động lilke nó trong float: phong cách trái ...)HTML & CSS: Bố cục lưu lượng dọc (kiểu cột), cách triển khai?

+---------------------------+ 
| DivBox1     | 
| DivBox2     | 
| DivBox3     | 
+---------------------------+ 

Sau khi thêm: thêm 2 hộp:

+----------------------------+ 
| DivBox1 DivBox4   | 
| DivBox2 DivBox5   | 
| DivBox3     | 
+----------------------------+ 

Cuối cùng, sau khi bổ sung thêm 2 hộp nó sẽ trông như thế này:

+-----------------------------+ 
| DivBox1 DivBox4 DivBox7 | 
| DivBox2 DivBox5   | 
| DivBox3 DivBox6   | 
+-----------------------------+ 
+0

Những loại hỗ trợ trình duyệt nào bạn cần? – Ktash

+0

Lý tưởng nhất là phải dựa trên các tiêu chuẩn. OK của nó nếu nó chỉ dựa trên các tiêu chuẩn mới hơn như css3 và html5 (và do đó tất cả các trình duyệt tương thích). nhưng nó cũng sẽ tốt nếu các trình duyệt cũ hỗ trợ điều này, nhưng điều này là không có yêu cầu) – user1145216

Trả lời

12

CSS3 Columns (đối với hiệu ứng bạn nói về, phần Height Balancing là một điều tốt để đọc) được hỗ trợ trong các trình duyệt mới hơn và sẽ giống như

Và sẽ hỗ trợ IE 10, FF, and Chrome.

Hoặc, bạn có thể sử dụng công cụ như Masonry.js để nhận cột như hiệu ứng trên trang (mặc dù điều này yêu cầu JS hoạt động) và hỗ trợ nhiều trình duyệt hơn.

+0

Có một số tùy chọn cho Masonry.js cho loại hiệu ứng này không? (Với một tìm kiếm ngắn gọn tôi không thể tìm thấy như vậy) – Touko

+0

@Touko No, Masonry không có tùy chọn cho kiểu bố cục này nói riêng, nó chỉ là thư viện phổ biến nhất cho các cột. Tuy nhiên, có rất nhiều thư viện khác được làm cho điều cụ thể này đặc biệt hơn. Tôi không thể đề nghị một, như tôi đã không bao giờ được sử dụng bất kỳ, nhưng một tìm kiếm nhanh chóng cho các cột JS nên mang lại rất nhiều lựa chọn. – Ktash

+0

cũng có chiều rộng cột http://www.w3schools.com/cssref/css3_pr_column-width.asp – Indy9000

0

thêm một lớp cho mỗi divs và phong cách nó với một cái gì đó như:

0.123.
.myDiv 
{ 
    width: 33%; 
    float: left; 
} 
+0

Bây giờ khi tôi đọc một chút chính xác hơn, tôi thấy rằng tôi đã đơn giản hóa nó một chút. Bạn cần phải làm nhiều hơn một chút. Bạn có thể thử thêm div vùng chứa với kiểu dáng ở trên và đặt ba div trong mỗi cột có dấu phẩy bên trái nhưng tôi không có giải pháp mà không thêm đánh dấu. –

Các vấn đề liên quan