2016-07-13 22 views
1

私はいくつかのC#コード条件に基づいて無効にされているasp.netボタンを持っています。ボタンは、btnPreviousは、以下のCSSクラスを使用するように設定されてそれを呼び出す:ボタンが無効状態にあるときasp.netのCSSの無効化ボタン

.btnBlue{ 
background: rgb(40, 108, 244); /* Old browsers */ 
background:linear-gradient(to bottom, rgb(40, 108, 244) 0%, rgb(0, 68, 204) 50%, rgb(40, 108, 244) 100%) repeat scroll 0% 0% transparent; /* W3C */ 
background: -moz-linear-gradient(top, rgb(40, 108, 244) 0%, rgb(0, 68, 204) 50%, rgb(40, 108, 244) 100%); /* FF3.6+ */ 
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgb(40, 108, 244)), color-stop(50%,rgb(0, 68, 204)), color-stop(100%,rgb(40, 108, 244))); /* Chrome,Safari4+ */ 
background: -webkit-linear-gradient(top, rgb(40, 108, 244) 0%,rgb(0, 68, 204) 50%,rgb(40, 108, 244) 100%); /* Chrome10+,Safari5.1+ */ 
background: -o-linear-gradient(top, rgb(40, 108, 244) 0%,rgb(0, 68, 204) 50%,rgb(40, 108, 244) 100%); /* Opera 11.10+ */ 
background: -ms-linear-gradient(top, rgb(40, 108, 244) 0%,rgb(0, 68, 204) 50%,rgb(40, 108, 244) 100%); /* IE10+ */ 
-ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=rgb(40, 108, 244), endColorstr=rgb(40, 108, 244),GradientType=0); /* IE6-9 */} 

を即ちbtnPrevious.disabled = TRUE。 CSSのプロパティは機能しません。 どこが間違っていますか?ありがとう。

EDIT:ジャストオントピックもう少し質問をする:

はなぜか、どのように私のCSSは、デフォルトフレームワークによって上書きされますか?

+0

ボタンが無効であるときに、ブラウザ自体がそれのCSSを使用しています。 –

+0

問題を回避する方法はありますか? –

+0

@RaphaelMutiso:JSFiddle https://jsfiddle.net/で例を作ることができれば簡単です。もう1つの方法は、実行時に適用されるスタイルを確認するためにChromeインスペクタを使用することです。 –

答えて

0

​​のような音がします。サーバルールは同じ要素に適用できます。ルールはあまり具体的ではなく、早期に適用される(したがって簡単に上書きされます)。

良いブラウザ(Chromeを使用しています)でウェブページを開き、開発タブ(F12)を開きます。 InspectボタンをクリックしてStylesタブを表示します。不要なスタイルがどこから来ているのかを知ることができます(ファイルと不要なスタイルを適用するためのセレクタ/ルールが表示されます)。

ディセーブル状態を混乱させる原因となるスタイルを追跡したくない(または削除する)必要がない場合は、ルールをより重要なものにすることができます。特異性のためのリンクをチェックしますが、ヒントは試してみて、自分のルールをより具体的にするボタンを標的とすることにより(だけではなくクラス)と、このようなおそらくコンテナのいずれかになります:あなたはまた、使用のために選ぶことができ

#container button.btnBlue { 
    ... 
} 

リンクで説明したように - - それはちょっと壊れ以来、あなたは!importantを使用しないようにしようとする必要があり、一般的に

#container button.btnBlue { 
    background: rgb(40, 108, 244) !important; 
    ... 
} 

:先にもこのよう!importantフラグを使用していない他のルールのあなたのルールを置くために反乱フラグ!important美しさはCSSです。 asp.netボタンも!important(またはインラインスタイル属性)を使用していない限り、asp.netルールよりも特定のルールを作成するのは非常に簡単です。ルールは、常にasp.netルールよりも少し具体的にすることができます。私は、不要なスタイルが適用されているのか分からない

- 私はちょうどそれが!importantフラグをインライン(style属性)ではありません願っています。)

0

:disabledは、動作するはずのボタンに使用できます。以下を試してください

.btnBlue:disabled{ 
background: rgb(40, 108, 244); /* Old browsers */ 
background:linear-gradient(to bottom, rgb(40, 108, 244) 0%, rgb(0, 68, 204) 50%, rgb(40, 108, 244) 100%) repeat scroll 0% 0% transparent; /* W3C */ 
background: -moz-linear-gradient(top, rgb(40, 108, 244) 0%, rgb(0, 68, 204) 50%, rgb(40, 108, 244) 100%); /* FF3.6+ */ 
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgb(40, 108, 244)), color-stop(50%,rgb(0, 68, 204)), color-stop(100%,rgb(40, 108, 244))); /* Chrome,Safari4+ */ 
background: -webkit-linear-gradient(top, rgb(40, 108, 244) 0%,rgb(0, 68, 204) 50%,rgb(40, 108, 244) 100%); /* Chrome10+,Safari5.1+ */ 
background: -o-linear-gradient(top, rgb(40, 108, 244) 0%,rgb(0, 68, 204) 50%,rgb(40, 108, 244) 100%); /* Opera 11.10+ */ 
background: -ms-linear-gradient(top, rgb(40, 108, 244) 0%,rgb(0, 68, 204) 50%,rgb(40, 108, 244) 100%); /* IE10+ */ 
-ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=rgb(40, 108, 244), endColorstr=rgb(40, 108, 244),GradientType=0); /* IE6-9 */} 
+0

これまでに試しても動作しません。 –

+0

あなたは ':disable'を試みましたか? –

+0

[ここにリンクがあります](http://www.w3schools.com/cssref/tryit.asp?filename=trycss3_enabled_disabled) –

関連する問題