Chọn phần tử cuối cùng thứ hai với css


135

Tôi đã biết: con cuối cùng. Nhưng có một cách để chọn div:

<div id="container">
 <div>a</div>
 <div>b</div>
 <div>SELECT THIS</div> <!-- THIS -->
 <div>c</div>
</div>

LƯU Ý: không có jQuery, chỉ với CSS


Chắc chắn có một số logic như tại sao đứa trẻ thứ hai là đáng kể?
David Tang

vâng tôi cần chọn cả cuối cùng và thứ hai cuối cùng để áp dụng một số kiểu
động

tại sao bạn không thể đặt một lớp học vào div cuối cùng thứ 2
Daveo

3
"Tại sao bạn không thể đặt một lớp vào div cuối cùng thứ 2": Có lẽ nếu bạn có được kiểu nội dung đang được tạo, trong đó bạn không có quyền truy cập (dễ dàng) để thêm một lớp vào mục cuối cùng thứ hai?
Henrik

Câu trả lời:


271

Trong CSS3 bạn có:

:nth-last-child(2)

Xem: https://developer.mozilla.org/en-US/docs/Web/CSS/:nth-last-child

Hỗ trợ trình duyệt nth-last-child :

  • Chrome 2
  • Firefox 3.5
  • Opera 9,5, 10
  • Safari 3.1, 4
  • Internet Explorer 9

1
Đây có lẽ là cách để đi trừ khi bạn có thể đính kèm một lớp vào div bạn đang cố gắng chọn. Như Frosty đã đề cập, CSS3 không được hỗ trợ bởi các trình duyệt cũ hơn hoặc IE. Jquery là một lựa chọn tốt hơn nhiều nếu bạn lo ngại về khả năng tính toán trên nhiều trình duyệt.
Thomas

Đó là một bản sao / dán từ bài viết được liên kết ... Câu trả lời đã được chỉnh sửa, cảm ơn.
Frosty Z

1
giải pháp trong css: #container>: nth-last-child (2) {nền: đỏ;} Vui lòng kiểm tra codepen này để xem trực tiếp: codepen.io/marc_dahan/pen/JyxObz
marcdahan

Bây giờ chúng tôi không cần hỗ trợ IE cũ hơn, câu trả lời này sẽ hoạt động hoàn hảo. Thành thật mà nói, nếu mọi người vẫn đang sử dụng IE 8 trở xuống, họ không xứng đáng có những thứ đẹp đẽ.
Stender

59

Lưu ý: Đã đăng câu trả lời này vì OP sau đó đã nêu trong các bình luận rằng anh ta cần chọn hai yếu tố cuối cùng , không chỉ là yếu tố áp chót.


Bộ :nth-childchọn CSS3 trên thực tế có khả năng nhiều hơn bạn tưởng tượng!

Ví dụ: điều này sẽ chọn 2 yếu tố cuối cùng của #container:

#container :nth-last-child(-n+2) {}

Nhưng đây chỉ là khởi đầu của một tình bạn đẹp.


Rất vui, câu trả lời của tôi chỉ chọn điểm trừ con cuối cùng 1. Không biết về điều này. + 'd
rsplak
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.