: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 2015年7月.
* Some parts of this feature may have varying levels of support.
:only-child は CSS の擬似クラスで、兄弟要素がない要素を表します。 :first-child:last-child または :nth-child(1):nth-last-child(1) と同じですが、詳細度はより低くなります。
css
/* 親の唯一の子である <p> 要素をすべて選択 */
p:only-child {
  background-color: lime;
}
試してみましょう
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>
メモ: 最初の定義では、親のある要素のみが選択されていました。 Selectors Level 4 の初期に、これは必要なくなりました。
構文
:only-child
例
>基本的な例
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;
}
結果
リストの例
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;
}
結果
仕様書
| Specification | 
|---|
| Selectors Level 4> # only-child-pseudo>  | 
            
ブラウザーの互換性
Loading…