2011-08-23 42 views
5

Tôi có hai div cạnh nhau. Tôi muốn div đó là ở phía bên tay trái để chiếm nhiều chỗ cần thiết mà không cần đẩy div khác (bên phải) sang dòng tiếp theo.CSS - Xếp hai phần tử cạnh nhau

Dưới đây là những gì tôi có ngay bây giờ: http://jsfiddle.net/RALza/

HTML

<div id="container"> 
    <div id="divA"> left text </div> 
    <div id="divB"> right text </div> 
</div> 

CSS

#divA 
{ 
    float:left; 
    border:1px solid blue; 
    width:100%; 
} 

#divB 
{ 
    float:right; 
    border:1px solid red; 
} 

Trả lời

4
<div id="container"> 
    <div id="divB"> right text </div> 
    <div id="divA"> left text </div> 
</div> 

#divA 
{ 
    overflow:auto; 
    border:1px solid blue; 
} 

#divB 
{ 
    float:right; 
    border:1px solid red; 
} 

sẽ làm việc.

Nhưng bạn nên chỉ định chiều rộng của các phần tử thả nổi.

+0

Nội dung của div trên phía bên tay trái khác nhau. Vì vậy, tôi không thể chỉ định chiều rộng. –

+0

@ dev.e.loper: Bạn không cần chỉ định 'chiều rộng'. – thirtydot

+0

Ý tôi là đối với #divB trong mã của tôi (nhưng có vẻ như không cần thiết: http://www.w3.org/TR/CSS2/visudet.html#float-width) – MatTheCat

1

Hãy thử fiddle này: http://jsfiddle.net/RALza/6/

Nó hoạt động bằng cách thay đổi thứ tự của hai divs và làm cho div đầu tiên một yếu tố khối bình thường mà không có một phao.

<div id="container"> 
    <div id="divB"> right text </div> 
    <div id="divA"> left text </div> 
</div> 

#divA 
{ 
    border:1px solid blue; 
} 

#divB 
{ 
    float:right; 
    border:1px solid red; 
} 
+0

Tuy nhiên, các công trình sau đây vẫn xảy ra sự cố nếu divA có nhiều văn bản. Một div đi vào nhau. http://jsfiddle.net/RALza/16/ –

1

Bạn có thể sử dụng hộp linh hoạt CSS:

#container { 
 
    display: flex; 
 
    justify-content: space-between; 
 
}
<div id="container"> 
 
    <div id="divA">left text</div> 
 
    <div id="divB">right text</div> 
 
</div>

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