- 締切済み
class名はアルファベットのみで作ったほうが良い
class名はアルファベットのみで作ったほうが良いのでしょうか? 日本でも大丈夫ですか?
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- ORUKA1951
- ベストアンサー率45% (5062/11036)
HTMLの仕様では、 class = cdata-list [CS] 要素識別子: id属性とclass属性( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/struct/global.html#h-7.5.2 ) ですから、 【引用】____________ここから CDATAは、文書文字集合中の任意の文字の列であり、文字実体をも含む。ユーザエージェントは、この属性値を次のように解釈する必要がある。 文字実体は文字で置き換える。 改行文字LFは無視する。 個々の改行文字CRあるいはタブ文字は、1つの空白文字で置き換える。  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ここまで[Basic HTML data types (ja)( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/types.html#type-cdata )]より ですが、CSSから利用するときは制約を受けます。すなわち 【引用】____________ここから CSSでは、(要素名、クラス、およびセレクタ内のIDを含む)識別子は、文字[a-zA-Z0-9]およびISO 10646でU+00A0以上の文字、またハイフン(-)およびアンダースコア(_)のみを含むことができる。識別子は、数字、2つのハイフン、ハイフンの直後の数字で開始できない。また、識別子は、エスケープされた文字および数字コードとして任意のISO 10646文字を含めることができる(次項を参照)。たとえば、識別子"B&W?"は"B\&W\?"または"B\26 W\3F"として記述してよい。  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ここまで[Syntax and basic data types - CSS 2.1 spec (ja)( http://momdo.s35.xrea.com/web-html-test/spec/CSS21/syndata.html#characters )]より よって、日本語も使えます。!!! ★その上で「クラス名の考え方」という項目が下記ページの中ほどにあります。 スタイルシートの基本 -- ごく簡単なHTMLの説明( http://www.kanzaki.com/docs/html/htminfo17.html#S32 ) その文章内のリンクも参照されると、class="left"とかclass="red"、class="container",class="main"とかはまずいことが分かると思います。 意味があるもの、できればmetaとして意味を成すものがよいことが分かるでしょう。
- think49
- ベストアンサー率59% (285/482)
HTML4,5 ではclass名は空白文字以外はほぼ指定できます。 http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401j/struct/global.html#h-7.5.2 https://html.spec.whatwg.org/multipage/dom.html#classes が、CSS,JavaScriptにおけるセレクタ指定がエスケープシーケンス付きで指定しなければならない文字もあります。 とりあえず、[a-zA-Z0-9-_]+ の範囲でclass名を指定しておけばCSSセレクタの指定も楽になります。 日本でもアメリカでもHTMLのルールは変わりません。 # Re: qjtjxeazさん