2012-09-14 22 views
5

Chúng tôi muốn đối sánh 12 yếu tố cuối cùng của vùng chứa mẹ. Làm thế nào để làm điều này với CSS? Để làm rõ, 12 là một số tùy ý. Chúng tôi muốn biết cách so khớp các phần tử N cuối cùng của vùng chứa mẹ.Làm thế nào để phù hợp với n trẻ em cuối cùng với CSS?

+0

Gợi ý: không phải với ': nth-child()'. – BoltClock

+2

12 có vẻ giống như một con số rất kỳ diệu. Nó sẽ khôn ngoan hơn để suy nghĩ lại chính xác * tại sao * bạn muốn 12. –

+0

12 là một số tùy ý. Xin lỗi vì sự nhầm lẫn. – Crashalot

Trả lời

5

definetely :nth-last-child(N)

li:nth-last-child(-n+12) { 
    /*your css declarations*/ 
} 

Công cụ chọn mẫu này sẽ khớp với 12 mục trong danh sách cuối cùng trong danh sách bất kỳ, có thể đặt hàng hoặc không theo thứ tự:

+0

Nhưng nó không hỗ trợ IE 8. Và đây không phải là CSS hợp lệ. – Pavlo

+0

@PavloMykhalov True! IE8 không hỗ trợ CSS3 pseudo classes và câu hỏi này được gắn thẻ với CSS3 – Dipak

+0

@Dipacks Fair đủ. Nhưng những gì về CSS không hợp lệ? Đề xuất của tôi: làm cho dòng thứ hai là một chú thích: '/ * declarationations * /'. – Pavlo

1

Bạn muốn :nth-last-childpseudoclass (hoặc :nth-last-of-type để kiểm tra loại). Sau đó bạn có thể sử dụng ~ để chọn tất cả anh chị em tiếp theo:

.container > *:nth-last-child(13) ~ * { }

http://jsbin.com/uhuzer/1/edit

+0

Và không hoạt động nếu không có nhiều trẻ em hơn bạn muốn. – Krycke

+0

Cụ thể hơn, nó không hoạt động nếu có ít hơn 13 trẻ em. Tất nhiên, nếu OP có thể đảm bảo rằng sẽ luôn có ít nhất 13 trẻ em, thì sẽ không có bất kỳ vấn đề gì. – BoltClock

+0

lỗi off-by-one đã được sửa! – tuff

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