none
ASPタグでのスタイルシート適用 RRS feed

  • 質問

  • VisualStudio2010
    IE9

    ASP.NET(WEBサイト)を作成していますが、ASPタグでスタイルシートが
    適用されない事象があります。

    これまで分かった事。
    ・標準のHTMLタグには適用されている
    ・TABLEのようにコントロール種類全体に対しては適用されるが、
     CSS内で任意の名称で設定した定義が反映されない

    ●適用されるケース
    (CSS)table {border-style:solid}
    (aspx)<asp:Table ID="T1" CssClass="table">

    ●適用されないケース
    (CSS)Cell1 {text-align:left}
    (aspx)<asp:TableCell CssClass="Cell1">

    2012年5月30日 6:15

回答

  • 基本手な css の文法を理解されてないのでは。以下のページ
    を見てください。

    CSSの記述方法 -idとclassの違い
    http://css.uka-p.com/basic/id_class.html

    前者は CssClass の設定は不要、後者は .Cell1 とする必要
    がある(「.」どっとがないとダメ)です。

    • 回答としてマーク IT246 2012年5月31日 0:14
    2012年5月30日 12:56
  • ●適用されるケース
    (CSS)table {border-style:solid}
    (aspx)<asp:Table ID="T1" CssClass="table">

    ●適用されないケース
    (CSS)Cell1 {text-align:left}
    (aspx)<asp:TableCell CssClass="Cell1">


    佐祐理さんのアドバイス通り、Web サーバーがどのような HTML を吐き出したかを確認すべきですが、
    実際に ASP.NET や CSS のソースに書いたのは上記の通りなのでしょうか?
    もしそうであれば、「適用されるケース」の方でも、

    (CSS)table {border-style:solid}
    (aspx)<asp:Table ID="T1" CssClass="table">



    (CSS)table1 {border-style:solid}
    (aspx)<asp:Table ID="T1" CssClass="table1">

    などと、CSS クラス名を table 以外にしてしまうと、スタイルシートが適用されなくなってしまうように思うのですが。


    • 回答としてマーク IT246 2012年5月31日 0:14
    2012年5月30日 7:17

すべての返信

  • ASPタグはASP.NET内部で通常のHTMLタグに書き換えています。つまりスタイルシートを適用しているWebブラウザーにとってはASPタグのまま受信しているわけではありません。

    Webブラウザー上でHTMLソースを参照し(もしくはIE9ならF12 開発者ツール)、どのように書き換えられているか確認しましょう。

    2012年5月30日 6:23
  • ●適用されるケース
    (CSS)table {border-style:solid}
    (aspx)<asp:Table ID="T1" CssClass="table">

    ●適用されないケース
    (CSS)Cell1 {text-align:left}
    (aspx)<asp:TableCell CssClass="Cell1">


    佐祐理さんのアドバイス通り、Web サーバーがどのような HTML を吐き出したかを確認すべきですが、
    実際に ASP.NET や CSS のソースに書いたのは上記の通りなのでしょうか?
    もしそうであれば、「適用されるケース」の方でも、

    (CSS)table {border-style:solid}
    (aspx)<asp:Table ID="T1" CssClass="table">



    (CSS)table1 {border-style:solid}
    (aspx)<asp:Table ID="T1" CssClass="table1">

    などと、CSS クラス名を table 以外にしてしまうと、スタイルシートが適用されなくなってしまうように思うのですが。


    • 回答としてマーク IT246 2012年5月31日 0:14
    2012年5月30日 7:17
  • 基本手な css の文法を理解されてないのでは。以下のページ
    を見てください。

    CSSの記述方法 -idとclassの違い
    http://css.uka-p.com/basic/id_class.html

    前者は CssClass の設定は不要、後者は .Cell1 とする必要
    がある(「.」どっとがないとダメ)です。

    • 回答としてマーク IT246 2012年5月31日 0:14
    2012年5月30日 12:56
  • totojoさん、ありがとうございます。

    ご指摘の通りでした。
    CSSの使い方について、基本的な部分で理解不足だったようです。

    ありがとうございました。

    2012年5月31日 0:13
  • SurferOnWwwさん、ありがとうございます。

    CSSの使い方について、基本的な部分で理解不足だったようです。

    分かりやすいページを教えて頂き、ありがとうございました。

    2012年5月31日 0:14
  • CSSもですが、HTMLにも目を向けるべきだと思います…。先にコメントしたように、ASPタグに対してスタイルを適用しているわけではありませんから、その部分をきちんと理解する意味で。
    2012年5月31日 0:46