2011-10-28 22 views
9

Cho đến nay tôi có bố trí này:Ngăn chặn khối inline từ gói nhưng cho phép nội dung để quấn

<ul style="white-space:nowrap;"> 
    <li style="width:200px; display:inline-block;"></li> 
    <li style="display:inline-block; vertical-align:top; padding-left:10px;"></li> 
</ul> 

Tôi đã cố gắng để ngăn chặn các ul từ gói đó là một sự khởi đầu. Tuy nhiên, nội dung trong 2nd li tiếp tục tắt màn hình. Chồng chéo các phần tử gốc của nó, v.v.

Tôi cần số thứ hai li để chiếm phần lớn và có chiều rộng động không giống như li đầu tiên. Và tôi cần văn bản để bọc trong số 2 li.

Cảm ơn bạn đã được trợ giúp.

+1

Bạn chỉ cần vô hiệu hóa gói cho mục danh sách đầu tiên? Bạn chỉ có thể thiết lập 'white-space: nowrap;' cho nó, và không phải toàn bộ vùng chứa danh sách. – unclenorton

+0

Có một hình ảnh trong mục danh sách đầu tiên và văn bản trong mục thứ hai. Vì vậy, tôi chỉ quan tâm đến gói danh sách thứ 2. – HGPB

Trả lời

9

li {display: table;} là bạn của bạn.

p.s. Đừng quên xóa kiểu nội tuyến!

5

Thử white-space: normal trên các yếu tố li.

white-space được kế thừa theo mặc định để chúng nhận được nowrap từ ul.

Tôi bắt đầu nghĩ rằng bạn đang sử dụng một ul cho các mục đích bố trí mà div có thể là phù hợp hơn cho:

<div class="Item"> 
<div class="ImageContainer"><img src="" alt="/></div> 
<div class="TextContainer">Text text text text text</div> 
</div> 

.Item { 
width: 200px; 
overflow: auto; 
} 

.ImageContainer { 
float: left; 
width: 40%; 
} 

.TextContainer { 
float: left; 
width: 60%; 
} 
+0

Cảm ơn - dường như nó chỉ làm việc cho tôi điều này, nếu tôi cũng thêm chiều rộng cố định. Tôi không thực sự muốn thêm chiều rộng vào li thứ hai. – HGPB

+0

Bạn có thể chỉ định những gì bạn muốn sau đó không? Bởi vì tôi bắt đầu nghĩ rằng bạn có thể đang sử dụng 'ul' cho mục đích bố trí hơn là tạo danh sách. Và nếu có thì có lẽ một số 'div' nổi có thể làm tốt hơn. – Bazzz

+0

Lý do thứ nhất giữ một hình ảnh li thứ hai nên giữ văn bản có thể bọc được. Các li thứ hai có thể phát triển và thu nhỏ kích thước phụ thuộc vào độ phân giải màn hình. – HGPB

0

Có vẻ như bạn thực sự muốn sử dụng bảng.

Nếu không, nếu bạn biết chiều rộng của hình ảnh, hãy thả nó sang trái và cho phần tử tiếp theo lề trái lớn hơn hoặc bằng độ rộng của hình ảnh.

Ví dụ:

article > img { 
 
    float: left; 
 
    height: 80px; 
 
    width: 80px; 
 
} 
 
article > div { 
 
    margin-left: 90px; 
 
}
<article> 
 
    <img src="http://www.gravatar.com/avatar/7e6e0e2b73358e47e0b7f83f8111f75b"> 
 
    <div> 
 
    <h4>Matt Di Pasquale</h3> 
 
    <p>I know the width of the image is 80px, so I floated it left and gave the <code>div</code> a 90px left margin. That way, everything gets layed out perfectly, and this paragraph's text wraps.</p> 
 
    </div> 
 
</article>

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