CSS クラス名で広くサポートされている文字は何ですか?
-
26-09-2019 - |
質問
詳しいとおり ここ 特に、html/css クラス名で有効な文字は、a ~ z、A ~ Z、0 ~ 9、ハイフン、アンダースコアのみであり、最初の文字は文字である必要があります。しかし実際には、ほとんどのブラウザで実際にどの文字がサポートされているのでしょうか?具体的に言うと、どのブラウザがクラス名のスラッシュ (/) を正しく理解できるのか、また、どのブラウザが数字で始まるクラス名をサポートしているのか、ということです。
違いがある場合に備えて、私は主に xhtml ではなく html についての答えを得ることに興味があります。
ありがとう。
解決
注。 HTML4 のclass
属性があるcdata-list
、と言いますスペースで区切られたトークン。単一クラス名トークンは空白文字以外の文字を含めることができるようにます。
私はクラス名にスラッシュを(/)を理解し、どのような番号で始まるサポートクラス名をブラウザ適切にブラウザのだろうか。
はエスケープを使用する必要がありますCSSクラスセレクタにそのような名前を参照してください。例えば:ます。
<div class="1blah/bläh">
でマッチングされます:
.\31 blah\2F bläh { ... }
このはを現在のすべてのブラウザはサポートされています。これは、IE5でサポートされていないされていませんが、それはもはや、ありがたいことに心配です。 (あなたは、文字エンコーディングの不一致についての懸念を持っていた場合、あなたはä
として\E4
をエンコードすることを好むかもしれませんが、それはのようなCSSの制限はありません。)
ブラウザが無効なセレクタで逃げるようになるあなたしているの提示された場合は、
.1blah/bläh
次に、よく、本当に気に?ただ、有効なものを使用します。
他のヒント
http://www.w3.org/TR /2008/REC-CSS2-20080411/syndata.htmlする
あなたは文法を見ればあなたは、識別子は次のように定義されていることを理解します。
ident {nmstart}{nmchar}*
nmstart [a-zA-Z]|{nonascii}|{escape}
nmchar [a-z0-9-]|{nonascii}|{escape}
nonascii [^\0-\177]
unicode \\[0-9a-f]{1,6}[ \n\r\t\f]?
ので、ここであなたの答えです..
(これはCSS2のためのものである)
/及び他のシンボルが使用されています。サポートされる文字は、すでに述べたものです。