• ベストアンサー

cssでclass名に大文字、アンダーバー使えない?

スタイルシートのクラス名やid名をつけるときにいつも悩むのですが、 アンダーバーはたしか使えない、もしくは特定のブラウザで不具合がある(たしかアンダーバーはネスケの古いのに問題あるようなこと聞きました)ようなことも聞きます。 どういったことが禁止というのはあるのでしょうか。 使えれば、大文字もハイフォンもアンダーバーも使いたいんです。 よろしくお願いいたします。

  • muxic
  • お礼率37% (97/259)
  • HTML
  • 回答数2
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
noname#16352
noname#16352
回答No.2

クラス名、ID 名は大文字と小文字を区別して判読していたと思います。 従って、どちらも使えると考えてかまわないと思います。 ネスケが絡んでくる話でいえば(うろ覚えですが)、 ・数字で始まるクラス名、ID 名は NG ・ハイフン以外は NG というのを聞いた事があるような気がします。 万全を期すなら、記号なしの半角英数字のみのクラス名を使うようにした方が好いかも。 ただ、古いネスケは CSS 解釈そのものが不完全だったりもするので、 どのへんまで考慮してデザインするかによって悩み方が違ってくると思います。

muxic
質問者

お礼

たしかにそうですね。参考になりました。

その他の回答 (1)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/struct/global.html#h-7.5.2 の7.5.2のname のリンク部分 http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/types.html#type-name で規格的に使える文字が書かれています。 class に使えるのはCDATA なのでほとんどの文字が使えるということになろうかと思います。 結論としては、 >大文字もハイフォンもアンダーバー も問題なく使えるということになろうかと思います。 特定のブラウザの事情は知りません。

関連するQ&A

  • cssのclassについて

    よろしくお願いします。 文字の背景に画像を入れて、更には文字の左側にチェックマークを入れるようにしたいため、cssやhtmlに下記の記述をしました。 【css】 div#test {list-style-position: outside; list-style-image: url(img/checkmark.gif); background-image: url(img/mark.png); color: #ff0000; font-weight: bolder; width: 800px; font-size: 1.0em; line-height: 2.0; } 【html】 <div id="test"> <ul> <li>テキスト、テキスト000テキスト</li> </ul> </div> 上記ですと、確かに背景画像も文字の左側にもチェックマークが入るのですが、下記のようにclass指定すると表示されなくなってしまいます きっとclassの表記が間違っているのだと思いますが困っております ご指導の程よろしくお願いします。 【css】 .test {list-style-position: outside; list-style-image: url(img/checkmark.gif); background-image: url(img/mark.png); color: #ff0000; font-weight: bolder; width: 800px; font-size: 1.0em; line-height: 2.0; } 【html】 <ul class="test"> <ul> <li>テキスト、テキスト000テキスト</li> </ul> また、id名は一つしか使えないがclass名は同じものを複数使えるとお聞きしますが、上記で言うと"test"を複数使えると言う事でしょうか? きっと私は<p>は</p>で閉めるように、そのあたりが良く分かっていないのかも知れません。 よろしくお願いします。

  • CSSで、IDとCLASSを同時に設定することは可能ですか?

    <div ID="main" CLASS="sub"></div>のように スタイルシートで、IDにメインのスタイル CLASSにサブのスタイルを設定してみて、 とりあえず、firefox、IE6、で確認してみたところ、うまく動きました。 しかし、グーグルで”ID CLASS 同時”等で検索してみても、 同時に使えることが解説されたサイトが大変少なく、 果たして、同時使いは、CSSの構文違反にならないのか不安になり 質問させていただきました。 <div ID="main" CLASS="sub"></div>のようなセレクタ同時使いは、 やっても大丈夫なものなのでしょうか? サポートされていないブラウザがあったりすることはないのでしょうか?

    • ベストアンサー
    • HTML
  • CSSでファイヤフォックスの文字の大きさを固定

    スタイルシートで ブラウザに表示される文字の大きさを制御しております。 IEでは完全にサイズ固定できますが、 ファイヤフォックスでは 完全な固定ができません。 スタイルシートからの指定で 固定する方法ってあるんでしょうか…? ご存知の方お教えください。

    • ベストアンサー
    • HTML
  • id class が効かない

    HPを作成し始めたばかりです。 IEではスタイルシートで id や class で画像のサイズが指定するとちゃんと表示されますが、 Firefox では全く効かずそのままの大きさになります。どうすればよいでしょうか? また、ブラウザの表示で「~場合は・・・すればよい」というようなサイトはありますか? ありましたら教えてください。よろしくお願いします。

  • HTML要素のid/class名の長さについて

    HTML要素のid/class名の長さについて HTML要素のid/class名についてですが、この名前の長さは何文字まで指定できるのでしょうか? 特に制限はなく、ブラウザなどの実装に依存するのでしょうか? <div id="so-loooooooooong-id-name"></div>

    • ベストアンサー
    • HTML
  • 時間帯によってclass名を変更したい

    時間帯毎に特定のボックス内の背景色を変更したいのですが、 スタイルシートで色を設定しておいて、html内のclassの値を変更するやり方を教えて下さい。 ※スタイルシートで3種類の色を設定 .bg1 {background-color: #000000;} .bg2 {background-color: #ff0000;} .bg3 {background-color: #ffffff;} ※時間帯は3種類 朝(7~10時)=class="bg1" 昼(10~18時) =class="bg2" 夜(18~翌7時)=class="bg3" ※html内のボックスのクラス名を時間帯によって class="bg1" class="bg2" class="bg3" のように変更したい。 <div class="○○">このBOX内の色を時間帯毎に変更したい</div> 私はjavascriptの知識はなく、ヒント等から自分で書くことはできないので、 恐縮ですが具体的なソースをお願いできればありがたいです。 どうぞよろしくお願いします。

  • スマートフォンで文字や画像のコピペを禁止する方法

    スマートフォンのブラウザー表示で、サイト内の文字や画像のコピーを防止(禁止)する方法を教えて下さい。 【iPhone(アイフォーン)】 style="-webkit-user-select: none;" のスタイルシートで文字のコピペは禁止できましたが、画像の禁止はできませんでした。 【Android(アンドロイド)】 良い方法が見つからないです・・・ 宜しくお願いしますm(__)m

  • CSSのセレクタについて。

    CSSの「IDセレクタ」と「クラスセレクタ」についてなんですが、「クラスセレクタ」は先頭に要素名を指定して「要素名.クラス名」のようにすると指定された要素のみ有効になりますが、要素名が特定されていない場合には、どの要素でも指定することができる。「IDセレクタ」は 先頭に要素名を指定して「要素名#id名」のようにすると指定された要素のみ有効になりますが、要素名が特定されていない場合には、どの要素でも指定することができる。ただし、IDは唯一のものとしてとくていするものの識別子でありひとつのXHTML文章内で同じIDを複数の要素に指定することはできない。とセレクタについて調べた結果、こう解釈しているのですが、「IDセレクタ」を使用するメリットがイマイチわかりません!「ひとつのXHTML文章内で同じIDを複数の要素に指定することはできない。」以外は「IDセレクタ」と「クラスセレクタ」は同じ効果ではないんですか?それならすべて「クラスセレクタ」で統一した方がいいと思うのですが・・・長くなってすみません。

    • ベストアンサー
    • CSS
  • PHP化したCSSでブラウザを判定する

    IEやファイヤフォックスなどの ブラウザによって、スタイルシートの効果というか 表示のされ方が微妙に違いますよね。 ただ、大幅に違うわけではなく 微妙な違いなので、スタイルシートを別々に つくりたくないのです。 そこでスタイルシートをPHP化して ブラウザを判定(例えばUserAgentで判定)ということは できないでしょうか? 仮に#headerというIDがあったとして ファイヤフォックスの時には padding:10px; それ以外なら padding:0; という感じです。 申し訳ないんですが具体的な ソースでお示しくださいますよう よろしくお願いします。

    • ベストアンサー
    • PHP
  • ホームページの文字の大きさについて

    ホームページ内のすべての文字の大きさを固定するには、どうしたらいいのでしょうか。 スタイルシートを使うといいのは分かるのですが、ページ内すべての文字を一括で変更する方法がわかりません。 以下のサイトは、うまく文字をスタイルシートでコントロール出来ていると思います。 http://www.bit-craft.net/ ブラウザで表示→文字のサイズで大や中にしても文字の大きさが変わらないようにしたいのですが、一文一文スタイルシートを入れるのではなく、1ページ1ページの文字の大きさを効率よくスタイルシートでコントロールできる方法に詳しい方がいらっしゃいましたら教えてください。

専門家に質問してみよう