2010-08-07 62 views
0

假設我有一個帶菜單網頁控件的aspx頁面。菜單web控件在瀏覽器上呈現爲html表格。我的計劃是在將被髮送到瀏覽器的aspx頁面上添加CSS樣式。比方說,我下面的樣式添加到aspx頁面CSS如何與ASP.NET Web控件一起使用?

td 
{ 
    background-color: Red; 
} 

這種風格獲取與呈現的HTML表

<table> 
    <tr> 
     <td>...</td> 
     <td>...</td> 
    </tr> 
    <tr> 
     <td>...</td> 
     <td>...</td> 
    </tr> 
</table> 

一起發送給瀏覽器,但不應用該樣式。我真的很困惑爲什麼會這樣。總的來說,我們如何預測CSS對ASP.NET文本控件的影響?

回答

3

該菜單覆蓋了某些樣式。

大多數ASP.NET控件公開CssClass屬性,您應該使用該屬性將樣式分配給控件。

+0

嗨感謝您的答覆。我的理解是CSS是用於處理html標籤,而不是用於ASP.NET web控件。在CssClass風格中,我們是否應該將Web控件已經公開的樣式定義爲屬性?其他樣式不受支持? – Aperture 2010-08-07 06:28:35

+0

@ user370401:哦,樣式被支持。也許這個資源將有所幫助:http://msdn.microsoft.com/en-us/library/ms366731.aspx – kbrimington 2010-08-07 06:31:10

1

也許你可以在DIV使用,你可以從給一個樣式的div,如:

風格:

#div td{ .... } 

HTML:

<div id="myDiv"> 
<table> 
    <tr> 
    <td></td> 
    </tr> 
</table> 
</div> 
2

這不是一個ASP.NET問題。是的,你是正確的,CSS不適用於服務器端控件,因爲它們出現在你的ASPX/ASCX標記中。它們適用於生成的HTML。大多數ASP.NET控件都有一個屬性CssClass,其中設置了CssClass =「n」,它將爲它們生成的某些html標記添加class =「n」。所以你可以寫css規則,以.n {...}爲目標。

但無論如何,在這種情況下,還有其他事情正在進行,你還沒有包括在問題中。我建議您抓住Firebug,將目標設爲您期望樣式的<TD>,並查看正在應用的CSS樣式。從那裏調試。

也許一些其他的CSS規則優先。也許你的CSS規則錯誤輸入,或者實際上沒有包括在內。 Firebug是追蹤這類錯誤的好工具。

爲了證明別的東西是怎麼回事,我驗證了您的樣本HTML + CSS的工作原理:

<html> 

<style> 
    td { background-color: blue } 
</style> 

<body> 

<table> 
    <tr> 
     <td>...</td> 
     <td>...</td> 
    </tr> 
    <tr> 
     <td>...</td> 
     <td>...</td> 
    </tr> 
</table> 

</body> 
</html> 
相關問題