CSS如何与ASP.NET web控件一起工作?

CSS如何与ASP.NET web控件一起工作?,asp.net,css,Asp.net,Css,假设我有一个带有菜单web控件的aspx页面。菜单web控件在浏览器上呈现为html表。我的计划是在aspx页面上添加css样式,该页面将被发送到浏览器。假设我将以下样式添加到aspx页面 td { background-color: Red; } 此样式与呈现的html表一起发送到浏览器 <table> <tr> <td>...</td> <td>...</td> <

假设我有一个带有菜单web控件的aspx页面。菜单web控件在浏览器上呈现为html表。我的计划是在aspx页面上添加css样式,该页面将被发送到浏览器。假设我将以下样式添加到aspx页面

td
{
    background-color: Red;
}
此样式与呈现的html表一起发送到浏览器

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

...
...
...
...

但该样式不适用。我真不明白为什么会这样。一般来说,我们如何预测CSS对ASP.NET控件的影响?

菜单覆盖了一些样式


大多数ASP.NET控件都公开了一个
CssClass
属性,您应该使用该属性为控件指定样式。

菜单会覆盖某些样式


大多数ASP.NET控件都公开了一个
CssClass
属性,您应该使用该属性为控件指定样式。

也许您可以在div中使用,也可以从div中指定样式,如:

风格:

#div td{ .... }
html:


也许你可以在div中使用,你可以从div中给出一个样式,比如:

风格:

#div td{ .... }
html:


这不是ASP.NET的问题。是的,您是正确的,CSS不适用于服务器端控件,因为它们出现在您的ASPX/ASCX标记中。它们应用于生成的HTML。大多数ASP.NET控件都有一个属性CssClass,其中设置CssClass=“n”,这将为它们生成的某些html标记添加class=“n”。因此,您可以编写css规则以.n{…}作为目标

但无论如何,在这种情况下,还有一些你没有包括在问题中的事情正在发生。我建议抓取Firebug,针对您期望的样式,看看应用了哪些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>

td{背景色:蓝色}
...
...
...
...

这不是ASP.NET的问题。是的,您是正确的,CSS不适用于服务器端控件,因为它们出现在您的ASPX/ASCX标记中。它们应用于生成的HTML。大多数ASP.NET控件都有一个属性CssClass,其中设置CssClass=“n”,这将为它们生成的某些html标记添加class=“n”。因此,您可以编写css规则以.n{…}作为目标

但无论如何,在这种情况下,还有一些你没有包括在问题中的事情正在发生。我建议抓取Firebug,针对您期望的样式,看看应用了哪些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>

td{背景色:蓝色}
...
...
...
...

您好,谢谢您的回复。我的理解是css是用于html标记的,而不是用于ASP.NET web控件。在CssClass样式中,我们是否只应该将web控件已经公开的样式定义为属性?不支持其他样式?@user370401:哦,支持样式。也许这个资源会有帮助:嗨,谢谢你的回复。我的理解是css是用于html标记的,而不是用于ASP.NET web控件。在CssClass样式中,我们是否只应该将web控件已经公开的样式定义为属性?不支持其他样式?@user370401:哦,支持样式。也许这个资源会有帮助: