CSS:disabled 疑似クラスセレクターは、無効な要素を表します。無効な要素とは、アクティブ化(選択、クリック、入力など)したりフォーカスを得たりすることができないものです。要素には有効な状態、つまりアクティブ化したりフォーカスを得たりすることができる状態もあります。

/* 無効な <input> を選択 */
input:disabled {
  background: #ccc;
}

構文

:disabled

この例は基本的な送り先フォームを表示します。 JavaScriptchange イベントを使用して、ユーザーが請求先欄を有効化/無効化できるようにします。

HTML

<form action="#">
  <fieldset id="shipping">
    <legend>送り先</legend>
    <input type="text" placeholder="名前">
    <input type="text" placeholder="住所">
    <input type="text" placeholder="郵便番号">
  </fieldset>
  <br>
  <fieldset id="billing">
    <legend>請求先</legend>
    <label for="billing_is_shipping">送り先と同じ:</label>
    <input type="checkbox" id="billing-checkbox" checked>
    <br>
    <input type="text" placeholder="名前" disabled>
    <input type="text" placeholder="住所" disabled>
    <input type="text" placeholder="郵便番号" disabled>
  </fieldset>
</form>

CSS

input[type="text"]:disabled {
  background: #ccc;
}

JavaScript

// ページの読み込みの終了を待つ
document.addEventListener('DOMContentLoaded', function () {
  // チェックボックスに 'change' イベントリスナーを追加
  document.getElementById('billing-checkbox').onchange = toggleBilling;
}, false);

function toggleBilling() {
  // 請求先のテキストフィールドを選択
  var billingItems = document.querySelectorAll('#billing input[type="text"]');

  // 請求先テキストフィールドを切り替え
  for (var i = 0; i < billingItems.length; i++) {
    billingItems[i].disabled = !billingItems[i].disabled;
  }
}

結果

仕様書

仕様書 策定状況 コメント
HTML Living Standard
:disabled の定義
現行の標準 変更なし。
HTML5
:disabled の定義
勧告 HTML に関する意味を定義。
Selectors Level 4
:disabled の定義
草案 変更なし。
CSS Basic User Interface Module Level 3
:disabled の定義
勧告案 Selectors Level 3 にリンク。
Selectors Level 3
:disabled の定義
勧告 疑似クラスを定義、但し意味の結びつけの定義はなし

ブラウザー実装状況

機能ChromeEdgeFirefoxInternet ExplorerOperaSafari
基本対応1 あり19193.1
機能Android webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
基本対応2.1 ? あり49.53.1 ?

1. Internet Explorer does not recognize :disabled on the <fieldset> element.

関連項目

ドキュメントのタグと貢献者

このページの貢献者: mfuji09, ethertank, sosleepy
最終更新者: mfuji09,