我正在嘗試做一些簡單的事情。asp:按鈕CssClass屬性沒有設置CSS類到我指定的
我有一個按鈕。
<asp:Button ID="btnMyButton" runat="server" CssClass="MyButton" CausesValidation="False" Text="ClickMe" />
其風格被存儲在我所知道的是正在使用的樣式表,因爲從這個樣式表的頁面使用其他樣式元素。
這是我如何定義樣式:
.MyButton {
font-size: 80pt;
color: red;
}
我也嘗試了一些其他的方式來明確指向這個類(包括專門從含有元素引用它),但無濟於事:
input[type="submit"].MyButton {
table.MyTable > tbody > tr > td > input.MyButton {
我可以看到谷歌Chrome的開發者工具,它甚至沒有覆蓋我設置的樣式,他們根本不存在。
當我查看頁面源代碼時,發現ASP.NET生成的輸入控件甚至沒有使用我的類(它使用了一種名爲submitBtn
的函數,這是我自己沒有定義的任何地方)。如果我使用Google Chrome的開發人員工具將此課程更改爲我的課程,則我的樣式將按照我的預期應用,因此我知道它們是可用的。我只是不知道他們爲什麼不習慣開始。
我可以使用input[type="submit"] {
對全局的所有按鈕進行樣式設置,但我試圖設計一個特定的樣式,而不使用內聯樣式定義。
請指教。
編輯:
我發現,如果我把我的CSS類在我的CSS文件submitBtn
,它將應用我設置的樣式。然而,因爲所有的ASP.Net按鈕似乎都想使用這個css類,爲了爲每個類設置一個獨特的樣式,我們必須將它們包裝成跨度或者其他東西,並且專門設置按鈕樣式。
我仍然想知道爲什麼它不讓我設置用於ASP.Net按鈕的樣式類的名稱。
爲了更加清晰,我更新了問題標題。
您是否在整個項目中搜索「submitBtn」?如果您在瀏覽器的按鈕標記中看到了這些內容,則可以添加它並覆蓋放入頁面的內容,無論是在服務器還是客戶端。 – Michael
如果有,那麼當我使用Chrome瀏覽器的檢查元素時,是否會在元素選項卡的樣式部分下看不到此樣式類?當我查看元素時,我無法在樣式下使用submitBtn類查看它,只有'用戶代理樣式表',如果我理解它正確的是瀏覽器默認爲了呈現元素。 – Interminable
雖然有必要將「submitBtn」添加到您的類屬性中。如果你創建一個空白的web應用程序,刪除一個新的asp:按鈕,將其CssClass設置爲「MyClass」,然後運行,你不會看到它被替換爲「submitBtn」。我想我的觀點是,不要繞着一個跨度繞過這個其他課程,也許應該找出將submitBtn課程放在第一位的原因。如果你不能,那麼是的,你可以包裝它,以便在你的CSS中定位不同的方式(甚至可以通過它的ID來定位)。 – Michael