2010-08-17 90 views
20

tôi có các mục sau đây li:Hãy để khoảng trống lấp đầy chiều rộng còn lại?

<li> 
    <span style='float:left; background-color:red'>a</span> 
    <span style='float:left; background-color:green'>b</span> 
</li> 

Tôi muốn khoảng trên bên phải để lấp đầy bất cứ chiều rộng được còn lại trong li mẹ của nó. Có cách nào làm được việc này không?

Cảm ơn

Trả lời

18

Bạn không muốn nổi mỗi trong số họ rời đi, chỉ là người đầu tiên, và sau đó làm cho một màn hình thứ hai trong chế độ khối:

<li> 
    <span style='float:left; background-color:red'>a</span> 
    <span style="display: block; background-color:green;">b</span> 
</li> 
+8

Điều này không chính xác (không phải là câu trả lời khác): Span không điền phần còn lại của chiều rộng, nó lấp đầy toàn bộ chiều rộng - hai nhịp chồng lên nhau. – Daddy32

+4

Bạn có thể ngăn chặn các nhịp trùng lặp bằng cách đặt 'overflow: hidden;' trên dòng thứ hai. – pvans

7

Nhìn cho cùng một giải pháp, nhưng chỉ tìm thấy này mà làm việc tuyệt vời cho tôi:

<li> 
    <span style='display: table-cell; background-color:red'>a</span> 
    <span style='display: table-cell; width: 100%; background-color:green'>b</span> 
</li> 

Tất cả bạn cần chỉ là sử dụng table-cell hiển thị s et filler span width đến 100%. Tất cả các giải pháp khác mà tôi đã thử đã không làm việc cho tôi như mong đợi.

+0

Bạn đã thực hiện lỗi đánh máy trong khoảng thứ hai: "dispaly". Ngoài ra dấu ngoặc kép truyền thống gấp đôi khi thiết lập kiểu, vì vậy nó phải là: style = "..." –

+3

@ LechOsiński Cảm ơn, đã sửa. Còn về "truyền thống kép" - không chắc chắn rằng truyền thống có ý nghĩa gì trong CNTT/khoa học. W3.org không ưu tiên cho bất kỳ loại giá trị btw nào. –

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