2011-04-23 63 views
6

Whats cách tốt nhất để căn chỉnh 3, 4 hoặc thậm chí 5 div bên cạnh nhau? với một khoảng trống giữa mỗi người tách chúng ra xa nhau.cách hiệu quả để sắp xếp các div cạnh nhau?

Tôi đã cố gắng googling này nhưng có vẻ như có rất nhiều câu trả lời khác nhau mà có vẻ quá sử dụng phụ thuộc (tức là nếu nó cho 2 divs hoặc 3 divs vv) im hỏi whats cách tốt nhất để làm điều này cho bất kỳ số lượng divs?

Cảm ơn

Trả lời

13

Tất cả các câu trả lời đưa ra ở đây là tuyệt vời và họ là những cách hiệu quả. Nhưng tôi đã cố gắng làm cho họ dễ dàng hơn cho bạn.

HTML:

<div id="apnd"> 
    <div>One</div> 
    <div>Two</div> 
    <div>Three</div> 
    <div>Four</div> 
    <div>Five</div> 
    <div>Six</div> 
    <div>Seven</div> 
    <div>Nine</div> 
    <div>Ten</div> 
    <div>Eleven</div> 
</div> 

CSS:

#apnd div { 
     height: 100px; 
     width: 100px; 
     border: 1px solid red; 
     margin-left: 5px; 
     float: left; /*Here you can also use display: inline-block instead of float:left*/ 
     background: orange; 
} 
+1

http://www.ternstyle.us/blog/float-vs-inline-block có khả năng đi bộ tốt với các kỹ thuật khác nhau. Bạn cũng có thể xem xét sử dụng lưới từ khung thiết kế đáp ứng như Foundation - http://foundation.zurb.com – havard

0

Hãy thử điều này:

div { 
float:left 
margin-left:20px; //or whatever you want 
} 

div:first-child { 
margin-left:0; 
} 
3

Có một cái gì đó như thế này:

div.container { display:table; border-spacing:{your-space}px; } 
div.container > div { display:table-cell; } 

trong "rất nhiều câu trả lời khác nhau" của bạn bộ?

Ngày nay, đây là cách đáng tin cậy nhất để tạo hàng ngang của các phần tử khối.

Cho đến CSS WG sẽ chấp nhận http://www.terrainformatica.com/w3/flex-layout/flex-layout.htm :)

+0

Hi, Tôi không thực sự hiểu những gì bạn đang cố gắng làm ở đó, bạn có thể vui lòng cung cấp một ví dụ mã rất đơn giản của 3 divs liên kết với nhau? Thanks –

4

Một tùy chọn khác: http://jsfiddle.net/brandondurham/Tht3N/

<div id="row"> 
    <div>One</div><div>Two</div><div>Three</div><div>One</div><div>Two</div><div>Three</div><div>One</div><div>Two</div><div>Three</div><div>One</div><div>Two</div><div>Three</div><div>One</div><div>Two</div><div>Three</div><div>One</div><div>Two</div><div>Three</div><div>One</div><div>Two</div><div>Three</div> 
</div> 

#row { 
    white-space: nowrap; 
} 
#row > div { 
    background: lightblue; 
    display: inline-block; 
    height: 50px; 
    width: 50px; 
} 
#row > div + div { 
    margin-left: 10px 
} 
+0

Cảm ơn câu trả lời của bạn, bạn có thể vui lòng chỉ cho tôi những gì đang diễn ra ở đây không? Tôi không quen với kiểu CSS này. Cảm ơn –

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