2010-08-07 33 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> 
相关问题