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 の Developer TOols で、設定しているスタイルをオーバーライドしていないことを確認できます。単にそこにありません。

ページ ソースを見ると、ASP.NET が生成する入力コントロールが私のクラスを使用していないことがわかります (それはsubmitBtn、私自身がどこにも定義していない と呼ばれるものを使用しています)。Google Chrome の開発者ツールを使用してこのクラスを自分のクラスに変更すると、スタイルが期待どおりに適用されるので、それらが使用可能であることがわかります。そもそもなぜそれらが使用されていないのかわかりません。

を使用してすべてのボタンをグローバルにスタイルできますinput[type="submit"] {が、特定のボタンのスタイルを設定しようとしており、インライン スタイル定義を使用したくありません。

お知らせ下さい。

編集:

submitBtncss ファイルで css クラスを呼び出すと、設定したスタイルが適用されることがわかりました。ただし、すべての ASP.Net ボタンがこのsubmitBtncss クラスを使用するように見えるため、それぞれに異なるスタイルを設定するには、それらをスパンまたは何かでラップし、この方法でボタン スタイルを具体的に設定する必要があります。

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 に答える