我正在尝试做一些简单的事情。
我有一个按钮。
<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 {
我可以在 Google Chrome 的开发者工具中看到它甚至没有覆盖我正在设置的样式,它们根本不存在。
当我查看页面源代码时,我发现 ASP.NET 生成的输入控件甚至没有使用我的类(它使用了一个名为 submitBtn
的东西,我自己没有在任何地方定义它)。如果我在使用 Google Chrome 的开发者工具时将此类更改为我的类,我的样式将按我的预期应用,因此我知道它们是可用的。我只是不知道为什么一开始就没有使用它们。
我可以使用 input[type="submit"] {
全局设置所有按钮的样式,但我正在尝试设置特定的样式,而不希望使用内联样式定义。
请指教。
编辑:
我发现如果我在我的 css 文件中调用我的 css 类 submitBtn
,它将应用我设置的样式。然而,由于所有 ASP.Net 按钮似乎都想使用这个 submitBtn
css 类,为了为每个设置不同的样式,我必须将它们包装在 span 或其他东西中,并以这种方式专门设置按钮样式。
我仍然想知道为什么它不允许我设置用于 ASP.Net 按钮的样式类的名称。
为了更加清晰,我更新了问题标题。
最佳答案
您可以为 asp.net 控件设置内联样式。
<asp:Button ID="btnMyButton" runat="server" CausesValidation="false" Text="ClickMe"
Style="font-size: 80pt; color: Red;" />
或
.MyButton
{
font-size:80pt;
color:Red;
}
<asp:Button ID="btnMyButton" runat="server" CausesValidation="false" Text="ClickMe"
CssClass="MyButton"/>
对我来说很好。
干杯
关于asp.net - ASP :Button CssClass property is not setting the CSS class to the one I specify,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17727723/