2009-07-27 31 views
5

Tôi có một danh sách lồng nhau không có thứ tự có nội dung chính ở bên trái và tôi muốn thêm các tùy chọn được thả nổi bên phải, sao cho chúng được căn chỉnh ở bên phải bất kể mức thụt đầu dòng.Căn chỉnh một số văn bản trong một mục danh sách

<ul> 
<li> Item 1 <span class='options'> link </span> </li> 
<li> Item 2 <span class='options'> link </span> 
    <ul> 
    <li>Item 3 <span class='options'> link </span> </li> 
    </ul> 
</li> 
</ul> 

Tôi có css sau:

ul { 
    list-style: none; 
    padding: 0; 
    margin: 0; 
} 

li { 
    padding-left: 15px; 
    width: 400px; 
} 

.options { 
    float: right; 
    width: 50px; 
} 

Khi điều này được sử dụng tuy nhiên khoảng tùy chọn được sắp về bên, nhưng 1 dòng dưới dòng mong đợi.

Làm cách nào tôi có thể nhận được khoảng tùy chọn để xếp hàng với mục danh sách?

TIA, Adam

+0

Bạn có vấn đề với chiều rộng dòng của bạn. # 1, # 2 và # 3 không có chiều rộng nhất quán giữa các trình duyệt, vì cách lề và phần đệm của bạn hoạt động. – Alsciende

Trả lời

11

Thay vì thả nổi, bạn có thể muốn thử định vị tuyệt đối.

ul { 
    list-style: none; 
    padding: 0; 
    margin: 0; 
} 

li { 
    padding-left: 15px; 
    width: 400px; 
    position: relative; 
} 

.options { 
    width: 50px; 
    position: absolute; 
    right: 0px; 
} 
+0

Hoàn hảo điều này đã giúp tôi một điều trị. Tôi đang cầu kỳ bây giờ nhưng và khá cập nhật cho giải pháp của bạn sẽ được để loại bỏ 'px' từ 0 cuối cùng cho 'đúng', để thực hành tốt nhất. – Pete

1

Sử dụng CSS này:

ul { 
    list-style: none; 
    padding: 0; 
    margin: 0; 
} 

li { 
    padding-left: 15px; 
    width:400px; 
} 
.options { 
    float: right; 
    width: 50px; 
} 
li li { width:385px} 

này không may đòi hỏi của bạn để xác định chiều rộng trừ đệm. tùy thuộc vào tính linh hoạt của bạn, điều này sẽ hoạt động. Đã thử nghiệm trong Chrome 3.0.

+0

Hum bạn giải quyết một vấn đề biên, không phải là vấn đề chính :). Hãy thử css của bạn dưới IE6. – Alsciende

1

Nếu sửa đổi mã HTML là OK, bạn có thể gửi kèm theo "Item 1" trong một khoảng thời đầu tiên và:

  • phao nó sang trái (vẫn nổi .options bên phải)
  • sử dụng display: inline-block trên cả hai span và text-align: right trên .options, thay vì phao (không tương thích với Fx2 mặc dù, và chỉ làm việc trong IE6/7 vì span là một yếu tố nội tuyến theo mặc định. Sẽ không hoạt động với div)
Các vấn đề liên quan