Hướng dẫn how do i use css only for second child? - làm cách nào để tôi chỉ sử dụng css cho đứa con thứ hai?

Tôi đang cố gắng sử dụng cái này để chọn thẻ thứ hai từ danh sách:

.container li a:first-child + a { ... }

Nhưng nó dường như không hoạt động. Có cách khác, lý tưởng là CSS thuần túy (trừ

.container li a:nth-of-type(2)
1) hoặc bất cứ ai có thể thấy nơi tôi đã sai?

Hướng dẫn how do i use css only for second child? - làm cách nào để tôi chỉ sử dụng css cho đứa con thứ hai?

Ry- ♦

213K54 Huy hiệu vàng446 Huy hiệu bạc460 Huy hiệu Đồng54 gold badges446 silver badges460 bronze badges

Đã hỏi ngày 3 tháng 3 năm 2012 lúc 22:22Mar 3, 2012 at 22:22

Ryan Durrantryan DurrantRyan Durrant

8084 Huy hiệu vàng12 Huy hiệu bạc23 Huy hiệu đồng4 gold badges12 silver badges23 bronze badges

2

Hãy chắc chắn rằng

.container li a:nth-of-type(2)
2 của bạn thực sự có hai yếu tố
.container li a:nth-of-type(2)
3 là hai đứa trẻ đầu tiên của nó, và không phải là một số yếu tố khác xung quanh chúng vì chúng có thể vô hiệu hóa các bộ chọn
.container li a:nth-of-type(2)
4 và anh chị em liền kề.

Nếu bạn chỉ muốn chọn phần tử

.container li a:nth-of-type(2)
3 thứ hai bất kể loại yếu tố nào khác có trong
.container li a:nth-of-type(2)
2 của bạn, hãy sử dụng bộ chọn này:

.container li a:nth-of-type(2)

Nếu

.container li a:nth-of-type(2)
2 của bạn sẽ chỉ có chính xác 2 phần tử
.container li a:nth-of-type(2)
3, bạn có thể sử dụng bộ kết hợp anh chị em chung
.container li a:nth-of-type(2)
9 để nhận tiền thưởng IE7/IE8 hỗ trợ:

.container li a ~ a

Hoặc bạn có ý định tìm phần tử

.container li a:nth-of-type(2)
3 trong
.container li a:nth-of-type(2)
2 thứ hai thay vì phần tử
.container li a:nth-of-type(2)
3 thứ hai trong
.container li a:nth-of-type(2)
2 (vì "danh sách" có thể đề cập đến
.container li a ~ a
4 hoặc
.container li a ~ a
5 ở đây)? Nếu vậy, bạn sẽ muốn một trong hai bộ chọn sau:

.container li:first-child + li a
.container li:nth-child(2) a

Đã trả lời ngày 3 tháng 3 năm 2012 lúc 22:25Mar 3, 2012 at 22:25

BoltclockboltclockBoltClock

680K156 Huy hiệu vàng1368 Huy hiệu bạc1341 Huy hiệu đồng156 gold badges1368 silver badges1341 bronze badges

3

Tôi nghi ngờ neo của bạn nằm trong danh sách các mục:


Trong trường hợp đó, bạn phải viết lại phong cách thành:

.container li:first-child + li a { ... } 

Đã trả lời ngày 3 tháng 3 năm 2012 lúc 22:31Mar 3, 2012 at 22:31

Hướng dẫn how do i use css only for second child? - làm cách nào để tôi chỉ sử dụng css cho đứa con thứ hai?

0

Chỉ cần sử dụng

.container li a ~ a
6:

.container li a:nth-of-type(2) {
    /* ... */
}

Vấn đề ở đây có lẽ là

.container li a:nth-of-type(2)
3 đầu tiên không phải là đứa trẻ đầu tiên, hoặc
.container li a:nth-of-type(2)
3 thứ hai không liền kề với nó. Bất kể,
.container li a ~ a
6 là cách đúng đắn để làm điều đó.


Nếu bạn có một

.container li a:nth-of-type(2)
3 mỗi
.container li a:nth-of-type(2)
2, thì có lẽ bạn có nghĩa là
.container li:first-child + li a
.container li:nth-child(2) a
2.

Đã trả lời ngày 3 tháng 3 năm 2012 lúc 22:25Mar 3, 2012 at 22:25

Hướng dẫn how do i use css only for second child? - làm cách nào để tôi chỉ sử dụng css cho đứa con thứ hai?

BoltclockboltclockRy-

213K54 Huy hiệu vàng446 Huy hiệu bạc460 Huy hiệu Đồng54 gold badges446 silver badges460 bronze badges

Đã hỏi ngày 3 tháng 3 năm 2012 lúc 22:22

.container li a:nth-child(2){....}

Ryan Durrantryan DurrantMay 17, 2018 at 10:12

Hướng dẫn how do i use css only for second child? - làm cách nào để tôi chỉ sử dụng css cho đứa con thứ hai?

devsam247devsam247devsam247

8084 Huy hiệu vàng12 Huy hiệu bạc23 Huy hiệu đồng12 silver badges17 bronze badges

Các lớp Pseudo CSS phù hợp với các yếu tố dựa trên vị trí của họ giữa một nhóm anh chị em.

.container li:first-child + li a
.container li:nth-child(2) a
3 CSS pseudo-class matches elements based on their position among a group of siblings.

Thử nó

Lưu ý rằng, trong cú pháp

.container li:first-child + li a
.container li:nth-child(2) a
4, số lượng trẻ em bao gồm trẻ em thuộc bất kỳ loại yếu tố nào; nhưng nó chỉ được coi là một trận đấu nếu phần tử ở vị trí con đó thuộc loại phần tử được chỉ định.

Cú pháp

.container li:first-child + li a
.container li:nth-child(2) a
3 lấy một đối số duy nhất mô tả một mẫu để phù hợp với các chỉ số phần tử trong danh sách anh chị em. Chỉ số phần tử là dựa trên 1.

:nth-child(  [ of  ]? )

Giá trị từ khóa

.container li:first-child + li a
.container li:nth-child(2) a
6

Đại diện cho các yếu tố có vị trí số trong một loạt anh chị em là lẻ: 1, 3, 5, v.v.

.container li:first-child + li a
.container li:nth-child(2) a
7

Đại diện cho các yếu tố có vị trí số trong một loạt các anh chị em thậm chí là: 2, 4, 6, v.v.

Ký hiệu chức năng

.container li:first-child + li a
.container li:nth-child(2) a
8

Đại diện cho các yếu tố trong một danh sách có các chỉ số phù hợp với các chỉ số được tìm thấy trong một mẫu số tùy chỉnh, được xác định bởi

.container li:first-child + li a
.container li:nth-child(2) a
9, trong đó:

  • 
    
    0 là kích thước bước số nguyên,
  • 
    
    1 là một phần bù số nguyên,
  • 
    
    2 là tất cả các số nguyên không âm, bắt đầu từ 0.

Nó có thể được đọc dưới dạng phần tử 39 của một danh sách.

Ví dụ

Ví dụ bộ chọn


4 hoặc

5

Đại diện cho các hàng lẻ của bảng HTML: 1, 3, 5, v.v.


6 hoặc

7

Đại diện cho các hàng chẵn của một bảng HTML: 2, 4, 6, v.v.


8

Đại diện cho yếu tố thứ bảy.


9

Biểu thị các phần tử 5 [= 5 × 1], 10 [= 5 × 2], 15 [= 5 × 3], v.v. Không kết hợp, vì các yếu tố được lập chỉ mục từ 1, trong khi


2 bắt đầu từ 0. Điều này có vẻ kỳ lạ lúc đầu, nhưng nó có ý nghĩa hơn khi phần

1 của công thức là
.container li:first-child + li a { ... } 
2, như trong ví dụ tiếp theo.5 [=5×1], 10 [=5×2], 15 [=5×3], etc. The first one to be returned as a result of the formula is 0 [=5x0], resulting in a no-match, since the elements are indexed from 1, whereas

2 starts from 0. This may seem weird at first, but it makes more sense when the

1 part of the formula is
.container li:first-child + li a { ... } 
2, like in the next example.

.container li:first-child + li a { ... } 
3

Đại diện cho thứ bảy và tất cả các yếu tố sau: 7 [= 0+7], 8 [= 1+7], 9 [= 2+7], v.v.7 [=0+7], 8 [=1+7], 9 [=2+7], etc.

.container li:first-child + li a { ... } 
4

Biểu thị các phần tử 4 [= (3 × 0) +4], 7 [= (3 × 1) +4], 10 [= (3 × 2) +4], 13 [= (3 × 3) +4], vân vân.4 [=(3×0)+4], 7 [=(3×1)+4], 10 [=(3×2)+4], 13 [=(3×3)+4], etc.

.container li:first-child + li a { ... } 
5

Đại diện cho ba yếu tố đầu tiên. [= -0+3, -1+3, -2+3]

.container li:first-child + li a { ... } 
6

Đại diện cho mọi yếu tố

.container li:first-child + li a { ... } 
7 trong một nhóm anh chị em. Điều này chọn các yếu tố tương tự như một bộ chọn
.container li:first-child + li a { ... } 
8 đơn giản (mặc dù có độ đặc hiệu cao hơn).

.container li:first-child + li a { ... } 
9 hoặc
.container li a:nth-of-type(2) {
    /* ... */
}
0

Đại diện cho mỗi

.container li:first-child + li a { ... } 
7 là yếu tố đầu tiên trong một nhóm anh chị em. Điều này giống như bộ chọn
.container li a:nth-of-type(2)
4 (và có cùng độ đặc hiệu).

.container li a:nth-of-type(2) {
    /* ... */
}
3

Đại diện cho phần thứ tám đến các yếu tố

.container li:first-child + li a { ... } 
7 thứ mười lăm của một nhóm anh chị em.

Ví dụ chi tiết

HTML

<h3>
  <code>span:nth-child(2n+1)code>, WITHOUT an <code><em>code> among
  the child elements.
h3>
<p>Children 1, 3, 5, and 7 are selected.p>
<div class="first">
  <span>Span 1!span>
  <span>Span 2span>
  <span>Span 3!span>
  <span>Span 4span>
  <span>Span 5!span>
  <span>Span 6span>
  <span>Span 7!span>
div>

<br />

<h3>
  <code>span:nth-child(2n+1)code>, WITH an <code><em>code> among the
  child elements.
h3>
<p>
  Children 1, 5, and 7 are selected.<br />
  3 is used in the counting because it is a child, but it isn't selected because
  it isn't a <code><span>code>.
p>
<div class="second">
  <span>Span!span>
  <span>Spanspan>
  <em>This is an `em`.em>
  <span>Spanspan>
  <span>Span!span>
  <span>Spanspan>
  <span>Span!span>
  <span>Spanspan>
div>

<br />

<h3>
  <code>span:nth-of-type(2n+1)code>, WITH an <code><em>code> among the
  child elements.
h3>
<p>
  Children 1, 4, 6, and 8 are selected.<br />
  3 isn't used in the counting or selected because it is an
  <code><em>code>, not a <code><span>code>, and
  <code>nth-of-typecode> only selects children of that type. The
  <code><em>code> is completely skipped over and ignored.
p>
<div class="third">
  <span>Span!span>
  <span>Spanspan>
  <em>This is an `em`.em>
  <span>Span!span>
  <span>Spanspan>
  <span>Span!span>
  <span>Spanspan>
  <span>Span!span>
div>

CSS

.container li a:nth-of-type(2)
0

Kết quả

Thông số kỹ thuật

Sự chỉ rõ
Người chọn cấp độ 4 # nth-con-pseudo
# nth-child-pseudo

Tính tương thích của trình duyệt web

Bảng BCD chỉ tải trong trình duyệt

Xem thêm