108

タイプに基づいてすべての入力を対象とする CSS の方法はありますか? さまざまな無効なフォーム要素で使用する無効なクラスがあり、テキスト ボックスの背景色を設定していますが、チェックボックスにその色を適用したくありません。

別のクラスでこれを行うことができることはわかっていますが、可能であればCSSを使用したいと思います。確かに、これをjavascriptで設定できますが、再びCSSを探しています。

私はIE7 +をターゲットにしています。だから私はCSS3を使うことができないと思います。

編集

CSS3 を使用すると、次のようなことができますか?

INPUT[type='text']:disabledそれは私のクラスを完全に取り除く方が良いでしょう...

編集

助けてくれてありがとう!したがって、クラスを設定する必要なく、無効になっているすべてのテキストボックスと領域を変更するセレクターを次に示します。この質問を始めたとき、これが可能だとは思いもしませんでした...

INPUT[disabled][type='text'], TEXTAREA[disabled]
{   
    background-color: Silver;
}

これはIE7で動作します


時には、Q&D 方式で物事を行う必要があります。そのような状況で行う必要があるのは、ダーティな実装をインターフェイスまたはアダプターの背後に隠して身を守ることです。

引用された例を使用すると、Sun.* パッケージは現在のところ機能しますが、将来的には機能しなくなる可能性があります。罰金。次に、目的のインターフェイスを実装するアダプターにラップします。次に、Sun が API を変更したときに (できれば Java.BASE64 のような永続的なものを提供することをお勧めします)、変更に対応するために実装をすばやく更新できます。

4

4 に答える 4

3

Sadly the other posters are correct that you're ...actually as corrected by kRON, you are ok with your IE7 and a strict doc, but most of us with IE6 requirements are reduced to JS or class references for this, but it is a CSS2 property, just one without sufficient support from IE^h^h browsers.

Out of completeness, the type selector is - similar to xpath - of the form [attribute=value] but many interesting variants exist. It will be quite powerful when it's available, good thing to keep in your head for IE8.

于 2009-01-22T20:55:02.953 に答える
1

これは jQuery で行うことができます。それらのセレクターを使用すると、タイプなどの属性で選択できます。ただし、これには、ユーザーが Javascript を有効にし、追加のファイルをダウンロードする必要がありますが、それが機能する場合は...

于 2009-01-22T20:47:33.187 に答える
0

申し訳ありませんが、短い答えはノーです。CSS (2.1) は、DOM の要素のみをマークアップし、それらの属性はマークアップしません。各入力に特定のクラスを適用する必要があります。

残念なことに、それは信じられないほど便利だからです。

JavaScript よりも CSS の方が好きだとおっしゃいましたが、それでも jQuery の使用を検討する必要があります。属性に基づいて DOM 要素にスタイルを追加する、非常にクリーンでエレガントな方法を提供します。

于 2009-01-22T20:43:48.217 に答える