No.1
- 回答日時:
こんにちわ
「CSS Validation Service」で検証してみたらわかることですが、
ID,classとも、エラーがでましたので、準拠されていないんじゃないでしょうか。。
ブラウザでも検証しましたが、下記のとおりOperaしかちゃんと認識されませんでした。
(テストはローカルのみ)
--------------------------------
IE7 ×
Chrome4 ×
Firefox3.6 ×
Opera9.6 ○
--------------------------------
●CSS Validation Service
W3Cによって運営されており、 CSSをチェックするのに使うことができます。
このツールは、 CSS 仕様と比較するだけでなく、エラーや、CSS の誤用等を発見したり、自分の書いたCSS が使い勝手を悪くするような場合に教えてくれたりします。
この回答への補足
>「CSS Validation Service」で検証してみたらわかることですが、
>ID,classとも、エラーがでましたので、準拠されていないんじゃないでしょうか。
情報ありがとうございます。
早速、作成したURLで試してみたのですが、クラス名に日本語をつけると、ご指摘の通り、エラーがでますね……。ちょっとショックです……。
>ブラウザでも検証しましたが、下記のとおりOperaしかちゃんと認識されませんでした。
検証ありがとうございました。
>●CSS Validation Service
>W3Cによって運営されており、 CSSをチェックするのに使うことができます。
>このツールは、 CSS 仕様と比較するだけでなく、エラーや、CSS の誤用等を発見したり、
>自分の書いたCSS が使い勝手を悪くするような場合に教えてくれたりします。
このツール知らなかったため、大変参考になりました。
ありがとうございました。
No.2
- 回答日時:
>ネットを検索したところ、
まず、仕様書を確認すること。正しい物を知りたければね。
★まず、そのHTMLが何で書かれているかによって答えは違います。★
IDは、
HTML4.01より前は
アルファベットから始まる
英数字と-.からなる。
HTML4.01以降は
_と:が使えるようになった。
XHTMLは、
・英字または_ から始まり
・英数字と-と.と_で記述 :は使えない
・重要 xmlから始めてはならない
class名については調べていませんが、特に制限はなかったと記憶していますが、使わないほうがよいと思っています。
この回答への補足
>まず、仕様書を確認すること。正しい物を知りたければね。
どの仕様書を読めばよいのでしょうか?
▼W3C - W3Cの仕様書等の文書の日本語訳集
http://www.w3.org/Consortium/Translation/Japanese
>★まず、そのHTMLが何で書かれているかによって答えは違います。★
「Strict」か「Transitional」等によって、異なるということでしょうか?
IDは、
>HTML4.01より前は
> アルファベットから始まる
> 英数字と-.からなる。
>HTML4.01以降は
> _と:が使えるようになった。
>XHTMLは、
>・英字または_ から始まり
>・英数字と-と.と_で記述 :は使えない
>・重要 xmlから始めてはならない
つまり、日本語表記は、ダメということでしょうか?
>class名については調べていませんが、特に制限はなかったと記憶していますが、使わないほうがよいと思っています。
何となく使わないほうがよいとは私も思っているのですが、
諸事情により、使えるかどうか知りたく、質問してみました…。
No.3
- 回答日時:
CSS2に限定するならば、エスケープすれば日本語も扱えます。
http://www.swlab.it.okayama-u.ac.jp/man/rec-css2 …
<style type="text/css">
/* テストですよ */
#\30C6\30B9\30C8\3067\3059\3088{
color: red;
}
/* テストしてみましょう */
.\30C6\30B9\30C8\3057\3066\307F\307E\3057\3087\3046{
color: green;
}
</style>
</head>
<body>
<p id="テストですよ">テストですよ</p>
<p class="テストしてみましょう">テストしてみましょう</p>
ただ、「HTML4.01 や XHTML1.0 でid属性値、class属性値に日本語を使えるか」っていうのは別の話なので、それもクリアする必要があるでしょうね。
仕様書を確認しましょう。
HTML 4.01 Specification (ja)
http://www.asahi-net.or.jp/~SD5A-UCD/rec-html401 …
XHTML 1.0: 拡張可能ハイパーテキストマークアップ言語
http://www.doraneko.org/webauth/xhtml10/20000126 …
掲示板/スタイルシート質問板/2行をまとめたセル内の上に文字を配置したい - TAG index Webサイト
http://www.tagindex.com/cgi-lib/q3bbs/patio.cgi? …
この回答への補足
>CSS2に限定するならば、エスケープすれば日本語も扱えます。
検証ありがとうございます!
>ただ、「HTML4.01 や XHTML1.0 でid属性値、class属性値に日本語を使えるか」っていうのは別の話なので、それもクリアする必要があるでしょうね。
「W3C」=「CSS2」と思っていたのですが、「W3C」と「CSS2」って別物なのでしょうか?
▼W3CがCSS2のワーキング・ドラフトを公開
http://internet.watch.impress.co.jp/www/article/ …
HTML 4.01 Specification (ja)
▼http://www.asahi-net.or.jp/~SD5A-UCD/rec-html401 …
確認してみたのですが、日本語表記不可との記述は見当たらないのですが…
XHTML 1.0: 拡張可能ハイパーテキストマークアップ言語
▼http://www.doraneko.org/webauth/xhtml10/20000126 …
こちらについても、日本語表記不可との記述は見当たらないのですが…
▼掲示板/スタイルシート質問板/2行をまとめたセル内の上に文字を配置したい - TAG index Webサイト
XHTML のみ ID に日本語文字使用可ということでしょうか?
No.4
- 回答日時:
#3です。
> 「W3C」=「CSS2」と思っていたのですが、「W3C」と「CSS2」って別物なのでしょうか?
W3Cは「WWWで利用される技術の標準化をすすめる団体」であり、CSS2策定にも関与していますが、「W3C = CSS2」ではないですね…。
W3Cはただの団体でCSS2仕様は別にあります。HTML4.01やXHTML1.0も別に定義されています。
W3Cとは 【WWW Consortium】 (World Wide Web Consortium) - 意味/解説/説明/定義 : IT用語辞典
http://e-words.jp/w/W3C.html
■HTML4.01仕様
id属性値は日本語を扱えず、class属性値は日本語を扱えます。
id属性値は "&;" を許可していないので、実体参照、数値参照も使えません。
----- id属性値 (「HTML 4.01 Specification」より)
IDトークンとNAMEトークンは、アルファベット([A-Za-z])で開始し、任意の数のアルファベット、数字、([0-9])、ハイフン(-)、アンダースコア(_)、コロン、(:)、ピリオド(.)のみで記述する必要がある。
http://www.asahi-net.or.jp/~SD5A-UCD/rec-html401 …
-----
----- class属性値 (「HTML 4.01 Specification」より)
CDATAは、文書文字集合中の任意の文字の列であり、文字実体をも含む。ユーザエージェントは、この属性値を次のように解釈する必要がある。
* 文字実体は文字で置き換える。
* 改行文字LFは無視する。
* 個々の改行文字CRあるいはタブ文字は、1つの空白文字で置き換える。
http://www.asahi-net.or.jp/~SD5A-UCD/rec-html401 …
-----
(収まりきらないので、次の記事に続きを書きます)
No.5
- 回答日時:
#4の続き。
■XHTML1.0仕様
▼id属性値
BaseCharで定義されている文字を使用できます。
----- (「XHTML 1.0: 拡張可能ハイパーテキストマークアップ言語」より)
C.8 フラグメント識別子
...
さらに、ID 型の属性の合法的な値のセットは、CDATA 型のものよりも遙かに小さいから、name 属性の型は NMTOKEN に変更されている。
この属性は、ID 型か、XML 1.0 第2節第5項の生成規則5にある Name 生成規則かと同じ値しかとれないよう制約されている。
残念ながら、この制約は XHTML 1.0 DTD の中に表記することができない。
この変更のせいで、既存のHTML文書を変換するときには注意を払わなければならない。
これらの属性の値は、文書内部で一意的であり、妥当でなければならず、もしも変換の間に値が変更される場合には、これらのフラグメント識別子(内部てきなものも外部的なものも)への参照はどれも更新されなければならない。
http://www.doraneko.org/webauth/xhtml10/20000126 …
-----
↓
XML1.0仕様書へ
↓
----- (「XML 1.0」より)
妥当性制約: ID
ID 型の値は Name 生成規則に合致しなければならない。
1つの名前がXML文書内に2回以上この型の値として現れてはならない。
すなわち、ID値は、それをもつ要素を一意的に識別しなければならないのである。
http://www.doraneko.org/xml/xml10/19980210/Overv …
-----
↓
-----
[5] Name ::= (Letter | '_' | ':') (NameChar)*
http://www.doraneko.org/xml/xml10/19980210/Overv …
-----
↓
-----
[84] Letter ::= BaseChar | Ideographic
http://www.doraneko.org/xml/xml10/19980210/Overv …
-----
↓
-----
[85] BaseChar ::= [#x0041-#x005A] | [#x0061-#x007A] | [#x00C0-#x00D6] | [#x00D8-#x00F6] | [#x00F8-#x00FF] | [#x0100-#x0131] |
...(中略)...
[#x3105-#x312C] | [#xAC00-#xD7A3]
http://www.doraneko.org/xml/xml10/19980210/Overv …
-----
No.6ベストアンサー
- 回答日時:
#5の続き。
■XHTML1.0仕様
▼class属性値
BaseCharで定義されている文字を使用できます。
----- (「邦訳:Modularization of XHTML」より)
5.1. 属性集合 (Attribute Collections)
集合名 : 集合に含まれる属性
Core : class (NMTOKENS), id (ID), title (CDATA)
http://msugai.fc2web.com/web/W3C/XHTMLMOD/abstra …
-----
↓
XML1.0仕様書へ
↓
----- (「XML 1.0」より)
3.3.1 属性型
...
| 'NMTOKENS' [ VC: 名前トークン ]
...
妥当性制約: 名前トークン
NMTOKEN 型の値は Nmtoken 生成規則に合しなければならず、NMTOKENS 型の値は Nmtokens に合致しなければならない。
http://www.doraneko.org/xml/xml10/19980210/Overv …
-----
↓
-----
[8] Nmtokens ::= Nmtoken (S Nmtoken)*
http://www.doraneko.org/xml/xml10/19980210/Overv …
-----
↓
-----
[7] Nmtoken ::= (NameChar)+
http://www.doraneko.org/xml/xml10/19980210/Overv …
-----
↓
-----
[4] NameChar ::= Letter | Digit | '.' | '-' | '_' | ':' | CombiningChar | Extender
http://www.doraneko.org/xml/xml10/19980210/Overv …
-----
↓
-----
[84] Letter ::= BaseChar | Ideographic
http://www.doraneko.org/xml/xml10/19980210/Overv …
↓
-----
[85] BaseChar ::= [#x0041-#x005A] | [#x0061-#x007A] | [#x00C0-#x00D6] | [#x00D8-#x00F6] | [#x00F8-#x00FF] | [#x0100-#x0131] |
...(中略)...
[#x3105-#x312C] | [#xAC00-#xD7A3]
http://www.doraneko.org/xml/xml10/19980210/Overv …
-----
>W3Cはただの団体でCSS2仕様は別にあります。HTML4.01やXHTML1.0も別に定義されています。
解説ありがとうございました。何となく、一緒に定義されているものだと、勝手に勘違いしていました。
>仕様書を確認しましょう。
すいません、確認したつもりなのでしが、見方がかなり甘かったようです。ネットで随分探したのですが、この件に関する情報を探し出すことができず、また、仕様書に記載している内容も解釈がなかなか難しく、苦労していたので、大変助かりました。これを機会に、これからはなるべく仕様書を熟読するよう、気をつけたいと思います。
本当にありがとうございました! おかげで知りたい情報を得ることができました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
divでくくった中の要素にa link
-
CSSとSSI 一緒に使えますか?
-
<span>で2重にかけているものを...
-
CSSに関するいくつかの質問
-
スタイルシートで特定IDかつ特...
-
DreamWeaver 正規表現での連番付与
-
livedoorブログでの背景画像サ...
-
同じページ内でリンクのフォン...
-
最近、HTMLのヘッダーをIDで定...
-
Wordpress--Breadcrumb NavXTの...
-
同ページ内でリンクの色を変え...
-
特定の見出しのみ前後の空白を...
-
HTML要素のid/class名の長さに...
-
ライブドアブログの背景色を変...
-
tableの大きさが編集領域とブラ...
-
フロートのクリアについて
-
display:table-cell内でこんな...
-
クリッカブルマップにツールチ...
-
htmlの文字が縦書きになる
-
htmlのolやulなどlistにtitleや...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
brにクラスをつけてcssでdispla...
-
HTML要素のid/class名の長さに...
-
idの中のid指定
-
htmlのid属性って必要なの?
-
サイトにjQueryが使用されてい...
-
CSSのクラス名・ID名の指定でワ...
-
個別にリンクの色を変える方法
-
透過背景を解除するにはどうす...
-
liリストタグの背景色に色がつ...
-
子孫セレクタの読み方をおしえ...
-
CSSに同じclass名がいっぱい‥。...
-
最近、HTMLのヘッダーをIDで定...
-
外部css定義したclassをht...
-
CSS, リンクの色を一部変えるに...
-
リンク文字の 一部だけ色を変...
-
display:table-cell内でこんな...
-
htmlとcssで吹き出しの中に文字...
-
同ページ内でリンクの色を変え...
-
外部スタイルシートで定義した...
-
name属性とid属性
おすすめ情報