:only-child

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

:only-childlớp giả CSS đại diện cho một phần tử không có anh chị em nào. Điều này tương đương với :first-child:last-child hoặc :nth-child(1):nth-last-child(1), nhưng với độ đặc hiệu thấp hơn.

Try it

li:only-child {
  color: fuchsia;
}

b:only-child {
  text-decoration: underline;
}
<p>Stars expected to attend:</p>
<ol>
  <li>Robert Downey, Jr.</li>
</ol>

<p>Stars yet to confirm:</p>
<ol>
  <li>Scarlett Johansson</li>
  <li>Samuel L. Jackson</li>
  <li>Chris Pratt</li>
</ol>

<p>The ceremony is going to be held in <b>The Dolby Theatre</b>.</p>

Cú pháp

css
:only-child {
  /* ... */
}

Ví dụ

Ví dụ cơ bản

HTML

html
<div>
  <div>I am an only child.</div>
</div>

<div>
  <div>I am the 1st sibling.</div>
  <div>I am the 2nd sibling.</div>
  <div>
    I am the 3rd sibling,
    <div>but this is an only child.</div>
  </div>
</div>

CSS

css
div:only-child {
  color: red;
}

div {
  display: inline-block;
  margin: 6px;
  outline: 1px solid;
}

Kết quả

Ví dụ danh sách

HTML

html
<ol>
  <li>
    First
    <ul>
      <li>This list has just one element.</li>
    </ul>
  </li>
  <li>
    Second
    <ul>
      <li>This list has three elements.</li>
      <li>This list has three elements.</li>
      <li>This list has three elements.</li>
    </ul>
  </li>
</ol>

CSS

css
li li {
  list-style-type: disc;
}

li:only-child {
  color: red;
  list-style-type: square;
}

Kết quả

Thông số kỹ thuật

Thông số kỹ thuật
Selectors Level 4
# only-child-pseudo

Khả năng tương thích trình duyệt

Xem thêm