4

我正在尝试做一些简单的事情。

我有一个按钮。

<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 按钮似乎都想使用这个submitBtncss 类,为了为每个按钮设置不同的样式,我必须将它们包装在 span 或其他东西中,并以这种方式专门设置按钮样式。

我仍然想知道为什么它不让我设置用于 ASP.Net 按钮的样式类的名称。

为了更清晰,我更新了问题标题。

4

4 回答 4

4

您可以为 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"/>

对我来说很好。

干杯

于 2013-07-18T16:07:08.400 回答
2

我知道这是个老问题,但如果有人遇到同样的问题,你也应该检查你的 .skin 文件。就我而言,有以下声明:

<asp:LinkButton CssClass="linkbtn"></asp:LinkButton>

这迫使整个应用程序中的所有 LinkBut​​ton 控件都具有“linkbtn”类,并且无法覆盖它。

于 2016-04-07T17:18:10.323 回答
1

<asp:LinkButton>改为使用

所以你的按钮是

<asp:LinkButton ID="btnMyButton" runat="server" CssClass="MyButton" CausesValidation="False" Text="ClickMe" />
于 2015-03-16T23:01:19.987 回答
1

有同样的问题。就我而言,我正在使用 SharePoint,它的 CSS 覆盖了我的按钮样式。尝试:

.MyButton
{
    font-size:80pt !important;
    color:Red !important;
}

!important 使样式不可覆盖...

于 2014-08-01T09:50:21.000 回答