如其他地方詳細描述的here,html/css類名中唯一有效的字符是a-z,A-Z,0-9,連字符和下劃線,並且第一個字符應該是字母。但實際上,大多數瀏覽器實際上支持哪些字符?更具體地說,我不知道瀏覽器能夠正確理解類名稱中的斜槓(/),以及哪些瀏覽器支持以數字開頭的類名稱。CSS類名中廣泛支持哪些字符?
我主要感興趣的是獲得html而不是xhtml的答案,以防有所不同。
謝謝。
如其他地方詳細描述的here,html/css類名中唯一有效的字符是a-z,A-Z,0-9,連字符和下劃線,並且第一個字符應該是字母。但實際上,大多數瀏覽器實際上支持哪些字符?更具體地說,我不知道瀏覽器能夠正確理解類名稱中的斜槓(/),以及哪些瀏覽器支持以數字開頭的類名稱。CSS類名中廣泛支持哪些字符?
我主要感興趣的是獲得html而不是xhtml的答案,以防有所不同。
謝謝。
注該類名是由HTML定義的,而不是CSS。 HTML4 saysclass
屬性是cdata-list
,它是空格分隔的令牌。因此,一個類名標記可以包含除空白字符以外的任何字符。
我不知道瀏覽器能夠正確理解類名中的斜槓(/),以及哪些瀏覽器支持以數字開頭的類名稱。
要在CSS類選擇器中引用這樣的名稱,您需要使用轉義。
.\31 blah\2F bläh { ... }
這是由所有當前的瀏覽器支持:如:
<div class="1blah/bläh">
是匹配的。它沒有得到IE5的支持,但幸好這不再是一個問題。 (如果您擔心字符編碼不匹配,您可能更願意將ä
編碼爲\E4
,但這不是CSS的限制。)
如果您詢問哪些瀏覽器會讓您無效選擇器
.1blah/bläh
那麼,那麼,誰在乎呢?只需使用有效的。
+1,我很樂意給你一個單獨的最後一行! – 2010-04-11 14:23:52
有效的類名* *由CSS定義。但那些在HTML中也是有效的只是這些的一個子集。請注意,CSS是一種可用於任何結構化語言而不僅僅是HTML的樣式表語言。 – Gumbo 2010-04-11 14:26:34
謝謝bobince,那爲我解決了問題!我最初命名這個問題「HTML類名中廣泛支持哪些字符?」但有人將「HTML」改爲「CSS」。在這種情況下,對我來說重要的是讓HTML可讀而不會冒險,所以這對我有很大的幫助。在這種情況下,IE5中斷可能不是問題。謝謝! – 2010-04-11 15:22:56
/和其他符號被用作選擇器(特別是在CSS3中),所以不能在類名中使用。支持的字符是你已經說過的。
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)
這並不能解釋實際支持哪些字符或序列。是否支持'.foo \ bar','。\ /'或'。\ 1234'? – Gumbo 2010-04-11 14:06:16
沒有土特產品只是說, 「A-Z,A = Z,0-9,= _」? – 2010-04-11 13:41:10
這些是有效的字符,但實際上其他字符至少也支持某些瀏覽器。我想知道除了有效字符(如果有的話)之外哪些字符可以可靠地使用。 – 2010-04-11 13:43:46
爲什麼不打開記事本並給它一個測試... – bigstylee 2010-04-11 13:57:28