JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

チェックボックスのHTML入力スタイルをデフォルト(IE標準)にリセットする方法

チェックボックスをネイティブスタイルに戻せない理由

一部のWebブラウザでは、一度CSSでカスタマイズしたチェックボックスの見た目を、デフォルトのネイティブスタイルへ完全に戻す(リセットする)ことができません。これは、ブラウザごとにフォーム部品の内部実装が異なるために生じる制限です。

解決策:スタイルを適用するinputタイプを個別に指定する

チェックボックスに不要なスタイルが適用されるのを防ぐには、スタイルを当てたいinputタイプをすべて明示的に列挙するのが確実な方法です。例えば、テキストボックスとパスワード入力欄だけに枠線を付けたい場合は、次のように記述します。

input[type="text"], input[type="password"] {
    border: 2px solid green;
}

このように対象となるタイプを一つずつ指定することで、チェックボックスやラジオボタンなど、他の要素への影響を回避できます。

CSS3の疑似クラスを使う方法

より簡潔に書きたい場合は、CSS3の:not()疑似クラスを利用して「チェックボックス以外」にまとめてスタイルを適用する方法もあります。

input:not([type="checkbox"]) {
    border: 2px solid green;
}

ただし、この記述はInternet Explorer 11では正しく動作しない場合がある点に注意してください。

使い分けのポイント

古いブラウザ(特にIE)への対応が必要なプロジェクトでは、inputタイプを個別に列挙する方法を選ぶのが安全です。一方、モダンブラウザのみを対象とできる場合は、:not()疑似クラスを使った記述の方が保守性に優れています。

  1. HTML DOM Input Reset autofocusプロパティの使い方を徹底解説

    HTML DOM の Input Reset autofocus プロパティは、HTML <input> 要素の autofocus 属性に関連付けられたプロパティです。このプロパティを使うことで、ページが読み込まれたときにリセットボタンへ自動的にフォーカスを当てるかどうかを、設定または取得できます。構文autofocus プロパティの構文は以下の通りです。autofocus プロパティを設定する場合:resetObject.autofocus = true|falsetrue を指定するとリセットボタンがフォーカスを受け取り、false を指定した場合はフォーカスされません。デフ

  2. HTML DOM Input Reset の form プロパティとは?使い方とサンプルコードを解説

    HTML DOMにおけるInput Resetオブジェクトのformプロパティは、指定されたリセットボタンが所属するフォーム(form要素)への参照を取得するために使用されます。リセットボタンがフォームの外に配置されている場合は、単にNULLが返されます。なお、このプロパティは読み取り専用です。 構文 Input Resetのformプロパティの基本構文は以下の通りです。 resetObject.form 使用例 それでは、Input Resetのformプロパティの具体的な使用例を見ていきましょう。 <!DOCTYPE html> <html> <body>