我正在尝试做一些简单的事情。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