根據(jù)CSS Level 3規(guī)范,為了解析標(biāo)識(shí)符的開頭,您需要:
檢查三個(gè)代碼點(diǎn)是否會(huì)啟動(dòng)一個(gè)標(biāo)識(shí)符
請(qǐng)看第一個(gè)代碼點(diǎn):
如果第一個(gè)字符是-,那么我們有一個(gè)有效的標(biāo)識(shí)符,如果: 第二個(gè)代碼點(diǎn)是標(biāo)識(shí)符開始代碼點(diǎn)([a-zA-Z_]或非ASCII)。 第二個(gè)代碼點(diǎn)是。 第二個(gè)和第三個(gè)字符構(gòu)成一個(gè)有效轉(zhuǎn)義符。 否則,我們沒有有效的標(biāo)識(shí)符開始。在確定我們是否有一個(gè)有效的標(biāo)識(shí)符后,開始,唯一的要求是有一個(gè)有效的& ltident-token & gt;我們有0個(gè)或更多的以下任意組合:
轉(zhuǎn)義令牌 ASCII字母 數(shù)字 _或者- 非ASCII字符 由于我們不需要在標(biāo)識(shí)符開始標(biāo)記后跟隨任何字符,這表明-是一個(gè)有效的標(biāo)識(shí)符,即使沒有任何瀏覽器或框架支持它。然而,甚至官方的CSS驗(yàn)證服務(wù)(由CSS規(guī)范的設(shè)計(jì)者維護(hù))也不認(rèn)為這是一個(gè)有效的標(biāo)識(shí)符。這僅僅是驗(yàn)證服務(wù)中的一個(gè)錯(cuò)誤嗎?
現(xiàn)在不是更有效了。
是的,這是有效的,它的工作。這是您可以定義的最短的自定義屬性(也稱為CSS變量):
body {
--:red;
background:var(--);
}
- custom屬性標(biāo)識(shí)符保留供將來(lái)使用,但當(dāng)前的瀏覽器不正確地將其視為有效的自定義屬性。
請(qǐng)參見 W3C/csswg-草案#6313