5 回答

TA貢獻(xiàn)1946條經(jīng)驗(yàn) 獲得超4個(gè)贊
閱讀W3C規(guī)范。(這是CSS 2.1,找到適合您的瀏覽器假設(shè)的版本)
編輯:相關(guān)段落如下:
在CSS中,標(biāo)識(shí)符(包括選擇器中的元素名稱,類和ID)只能包含字符[a-z0-9]和ISO 10646字符U + 00A1和更高,加上連字符( - )和下劃線(_) ; 它們不能以數(shù)字開頭,也不能以數(shù)字后跟連字符開頭。標(biāo)識(shí)符還可以包含轉(zhuǎn)義字符和任何ISO 10646字符作為數(shù)字代碼(請(qǐng)參閱下一項(xiàng))。例如,標(biāo)識(shí)符“B&W?” 可以寫成“B \&W \?” 或“B \ 26 W \ 3F”。
編輯2:正如@mipadi在Triptych的回答中指出的那樣,有一個(gè)警告,也在同一個(gè)網(wǎng)頁中:
在CSS中,標(biāo)識(shí)符可以以“ - ”(破折號(hào))或“_”(下劃線)開頭。以“ - ”或“_”開頭的關(guān)鍵字和屬性名稱保留給特定于供應(yīng)商的擴(kuò)展。此類特定于供應(yīng)商的擴(kuò)展應(yīng)具有以下格式之一:
'-' + vendor identifier + '-' + meaningful name '_' + vendor identifier + '-' + meaningful name例子):
例如,如果XYZ組織添加了一個(gè)屬性來描述顯示器東側(cè)邊框的顏色,則可以將其稱為-xyz-border-east-color。
其他已知的例子:
-moz-box-sizing -moz-border-radius -wap-accesskey保證初始破折號(hào)或下劃線永遠(yuǎn)不會(huì)被任何當(dāng)前或未來的CSS級(jí)別用于屬性或關(guān)鍵字。因此,典型的CSS實(shí)現(xiàn)可能無法識(shí)別這些屬性,并且可能根據(jù)用于處理解析錯(cuò)誤的規(guī)則來忽略它們。但是,因?yàn)槌跏级虅澗€或下劃線是語法的一部分,所以CSS 2.1實(shí)現(xiàn)者應(yīng)始終能夠使用符合CSS的解析器,無論它們是否支持任何特定于供應(yīng)商的擴(kuò)展。
作者應(yīng)避免特定于供應(yīng)商的擴(kuò)展

TA貢獻(xiàn)1801條經(jīng)驗(yàn) 獲得超16個(gè)贊
完整的正則表達(dá)式是:
-?(?:[_a-z]|[\200-\377]|\\[0-9a-f]{1,6}(\r\n|[ \t\r\n\f])?|\\[^\r\n\f0-9a-f])(?:[_a-z0-9-]|[\200-\377]|\\[0-9a-f]{1,6}(\r\n|[ \t\r\n\f])?|\\ [^\r\n\f0-9a-f])*
因此,如果直接使用,則不允許使用除“ -
”和“ _
” 之外的所有列出的字符。但您可以使用反斜杠foo\~bar
或使用unicode表示法對(duì)它們進(jìn)行編碼foo\7E bar
。
添加回答
舉報(bào)