プロが教えるわが家の防犯対策術!

HTMLのスタイルシートでFormの文字色が変えれる事はわかっています。
style="background:red;color:white;"
でいいんですよね。
そこで、CSSで条件によってボタンの文字色を変えたいのですが、どうすればいいでしょうか?

なぜ、こんな事を考えるようになったかというと、
IE等では、ボタンのEnableがTrueの時は黒色(バックは普通)、Falseの時は灰色(バックは薄い)状態になるのですが、
この前、chromeでそのボタンを確認したところ、TrueでもFalseでも文字色が黒になっていました。
そこで、ボタンのEnableがFalseの時に、文字色を灰色に変えたいのですが、そんな事ってCSSを使ってでも出来るのでしょうか?

もし出来ないとしたら、ボタンひとつずつスタイルを設定しないといけないという面倒な事になりそうなのです。

もし、CSSでボタンがEnable=falseの時だけ、ボタン色を灰色にする方法がわかる方がいらっしゃいましたら、回答してください。

急ぎませんので、回答よろしくお願いします。

A 回答 (3件)

??


 javascriptか何かで、Enable=falseを指定しているなら、その時点でスタイルシートを書き出すしかない??

 button要素にはenableという属性値はないので・・

 form要素内の要素なら
 button、input、optgroup、option、select、textareaについて、disabled属性があります。
<form action="[URL]" method="[post|get]">
 <button disabled type = "submit" title="送信">
</form>
でしたら、属性セレクタを使って
 button[disable]{background:red;color:rgb(120,120,120);}
    • good
    • 0
この回答へのお礼

すみません、disabledでしたね。

つい、Enable=falseって表現を使っていました。
<button>ではなく、<input type="submit">を使っています。

input[disabled]{color:#BBBBBB;}
で試してみたところうまく動作しました。

ありがとうございます。

お礼日時:2011/04/26 17:14

behaviorか


Javascriptで
disabledかどうかを判定して
.style.color=
で変えればOKだったはず。
chromeでこれができたかどうかは
chromeを入れていないのでわからないけど。
    • good
    • 0
この回答へのお礼

Javascriptを使うとしたら、各ページに設定しないといけないですよね?
そうすると、CSSのようにまとめて変換できないので、各ボタンに色変えをしても一緒ですね。

ということで、あきらめて、全部のEnable=falseのボタンにStyle="color:#BBBBBB;"を入れることにします……

IEでは、色を変えたところで無視されるので問題なくて、chrome対策なんですけどね……
色が変わらないchromeは嫌いだぁ~

お礼日時:2011/04/25 16:39

IEでは、


Enable=false
時のボタンの色をいじることはできません。

行うとしたら
ボタンのように見える画像や
スタイルシートを駆使してボタンのように見えるテキストにするしかありません。
    • good
    • 1
この回答へのお礼

IEでは、普通に灰色に変わっているので、色が変わらなくても問題ありません。
chromeの時に、色を変えたいのですが、Enable=falseの時だけ色を変える方法って無いでしょうか?

お礼日時:2011/04/25 12:20

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!