2010-04-02 53 views
1

我必須丟失一些明顯的東西,但有人可以解釋我在做什麼錯我的CSS?我希望所有的按鈕都有一個特定的格式,除了少數幾個。我期待使用CssClass來覆蓋少數應該不同的東西,但他們似乎都使用標準的東西。CSS按鈕不造型

我的CSS:

.btn 
{  
    border:none; 
    background-color:red;   
}  

input[type="submit"] 
{ 
    border: 2px solid black; 
    background-color:green;   
} 

所有按鈕取第二個值(綠色背景,有邊框)。不過,我有這個按鈕:

<asp:Button ID="btnAdd" CssClass="btn" runat="server" Text="Add" /> 

我期待這個已經沒有邊框,紅色背景,但它同所有其他按鈕。

任何想法我做錯了什麼? 謝謝

+1

您可以顯示生成的HTML代碼而不是ASP源代碼嗎?你在嘗試使用什麼瀏覽器? – 2010-04-02 19:04:18

+0

是不是CSS邊框屬性排序樣式寬度顏色不是寬度樣式顏色?邊框:[風格] [寬度] [顏色] – 2011-05-16 23:14:24

回答

3

type='button'規則可能擊敗特異性的btn規則。您可以使用!important但在IE < 8中不起作用,並且從長遠來看肯定會出現問題。

請先嚐試:

input[type="submit"].btn 
    { 

     border:none; 
     background-color:red; 

    } 
+0

這是有效的。爲了兼容性,我將使用此方法。謝謝! – 2010-04-02 19:09:52

1

將您的.btn放在您的下方input[type="submit"]規則。如果這仍然不起作用,那麼重要!

.btn 
{  
    border:none !important; 
    background-color:red !important;  
} 

看到這裏的CSS優先級:http://www.w3.org/TR/CSS2/cascade.html

0

另外值得一提的是,屬性選擇,例如input[type="submit"]不會在IE中工作,他們在FF做雖然。

+0

你確定嗎?它似乎在爲我工作在IE8。是否有一種替代方式爲IE設計所有按鈕? – 2010-04-02 19:11:30

+0

我的意思是IE 6,7-8很可能支持它們,但絕對不是舊版本。沒有CSS在這些瀏覽器中通過屬性選擇元素的方式,但是您始終可以將'class =「submit」'應用於所有提交按鈕,然後將樣式應用於'.submit'。 – Steve 2010-04-02 19:29:46

+0

感謝您的信息。我想我會創建一個提交類並使用它。 – 2010-04-02 19:52:29