2010-06-23 71 views
16

我已經看遍了,無法弄清楚這一點:你如何針對CSS中的禁用狀態提交按鈕?你如何定位提交按鈕的禁用狀態?

例如:如何將我的目標和風格的按鈕:

<input value="Validate" disabled="disabled" type="submit"/> 
+0

「**靶向禁用狀態提交按鈕**」。你可以說得更詳細點嗎? – rahul 2010-06-23 10:40:22

+0

我想他想知道如何CSS一個灰色的按鈕。 – NibblyPig 2010-06-23 10:42:31

+0

是的,我剛剛更新了一個例子按鈕 – Thomas 2010-06-23 10:43:00

回答

22

您可以使用:

input[disabled=disabled][type=submit] { 
     background:green; 
    } 

在火狐上運行,並且據說除IE6外都很好。但我沒有親自測試過這種組合選擇器。

PS:更健壯的,跨瀏覽器的方法,使用jQuery ...

$("input[disabled=disabled][type=submit]").css 
({ 
    'background': 'yellow', 
    'color':  'blue' 
}); 
+1

哇,工作。 +1000謝謝! – Thomas 2010-06-23 11:02:45

+0

不客氣! – 2010-06-23 12:41:01

+1

請注意@Veger回答whith更現代的方法使用CSS3:禁用僞類 – ithil 2013-11-19 15:02:12

4
input[disabled='disabled'][type='submit'] 
{ 
... 
} 

並不在IE 6中工作,但在其他所有瀏覽器應該。 Reference

還有:disabled pseudo-class,但IE中根本不支持。

樣式禁用的元素很難,因爲它們有時具有不能被覆蓋的屬性。本文將展示哪些瀏覽器適用於哪些瀏覽器:Styling disabled form controls with CSS

+0

等待,這種風格是不是會禁用所有的元素?有沒有一種方法專門針對禁用的按鈕?_ – Thomas 2010-06-23 10:46:19

+0

@Thomas yup,它會。應該可以將它與'[type ='submit']'結合起來,但我不知道該如何誠實。一個類可以像這樣工作:'input.classname [disabled ....' – 2010-06-23 10:51:35

+0

@Thomas嘗試'[type ='submit'] [disabled ='disabled']'不保證雖然 – 2010-06-23 10:52:40

1

CSS中沒有爲禁用狀態定義的僞類。

我的猜測是使用JQuery來更改禁用按鈕的CSS類。

代碼的jQuery:

<script language="javascript"> 
    $('input[type=button]').each(function() { 
     if ($(this).attr('disabled') == true) 
     { 
      $(this).addClass('disabled'); 
     } 
    }); 
</script> 

添加樣式元素 '已禁用'。

+3

CSS3中有一個僞類,但它不被IE支持。 – 2010-06-23 10:48:14

+0

+1,因爲瀏覽器支持很不完整,只要您確定客戶端啓用了javascript,就可以使用JS路由。 – dmp 2010-06-23 10:55:09

+0

即時通訊使用jquery,我將如何實現這一點? – Thomas 2010-06-23 10:55:15

0

我能想到的一種方法是將按鈕的類設置爲禁用,然後使用「input.disabled」指定適當的CSS。你會這樣做嗎?

+0

我曾考慮過這個問題,但我擔心這可能會被工程師認爲是糟糕的編碼......我不知道將會怎樣破壞這些人。 – Thomas 2010-06-23 10:50:41

+0

我同意這不是...'不錯',但它是一個相當簡單的解決方案。儘管從來沒有在專業編碼環境中工作過,但我不知道他們會期待什麼。 – 2010-06-23 11:03:42

16

CSS3添加了:disabled僞類,它正是你想要的。

input:disabled { 
/*Disabled styles for input elements here*/ 
} 

由於this page顯示所有主要的瀏覽器(除IE8)支持此標記,因此它似乎無法使用,但(除非你不需要IE瀏覽器支持)

+1

如果您有一位不需要IE支持的老闆或客戶,請給我打電話! ;-)我需要數週和統計數據纔可以放棄IE6和IE7。 – 2010-06-23 11:40:39

+1

嘿嘿...好吧,你*已經設法放棄IE6和IE7,已經省了很多麻煩! – Veger 2010-06-23 11:44:11