2009-10-10 86 views

回答

35

從技術上講是這樣,但這樣做有風險,因爲雖然CSS語法大多不區分大小寫,但在某些瀏覽器中,在某些條件下,類名稱被視爲區分大小寫,因爲規範未指定瀏覽器在匹配CSS時應如何處理大小寫規則到HTML類名稱。

the specsection 4.1.3

所有的CSS語法是不區分大小寫的ASCII範圍內...

在CSS中,標識符(包括元素名稱,類別,並在選擇的ID)即可僅包含字符[a-zA-Z0-9]和ISO 10646字符U + 00A1及更高字符,再加上連字符( - )和下劃線(_);他們不能以數字或連字符後跟數字開頭。標識符也可以包含轉義字符和任何ISO 10646字符作爲數字代碼(參見下一項)。例如,標識符「B & W?」可寫成「B \ & W \?」或「B \ 26 W \ 3F」。

... HTML屬性「id」和「class」,字體名稱和URI的大小寫敏感度不在本規範的範圍之內。

,而不是學會了瀏覽器和這裏的情況是敏感的情況下,這是最好的,你只要知道,最好的辦法是最兼容的:使用相同的情況下,所有的代碼爲給定的CSS類,也不要創建兩個或更多僅在大小寫不同的CSS類名稱。

6

當然。 Here是官方規則;基本上你不應該用一個數字開始這個名字,你可以使用字母,數字,連字符,下劃線,以及轉義字符或編碼字符。

但是,作爲慣例,通常使用連字符代替駱駝情況。

+0

類中的連字符,駱駝上的ID,特別是因爲原生javascript不能在元素ID中使用連字符。 – doublejosh 2012-03-09 20:18:05

+0

HTML5官方規範說''HTML文檔中HTML元素的所有屬性名稱都會自動獲得ASCII-lowercased「',在說出」屬性名稱「時也會包含類名?如果是的話,那麼避免大案件只能是一件好事。見http://www.w3.org/html/wg/drafts/html/master/single-page.html#attr-data-%2a – 2014-08-08 10:41:32

+0

嗯,我只是注意到它說''「屬性名稱」不「屬性值「。困惑。所有關於屬性名稱和值的混淆都是自動降低的,這可能是每個人都採用駝峯式慣例的主要原因。請參閱http://reference.sitepoint.com/css/casesensitivity和http://www.w3.org/TR/html401/types.html#h-6.1 – 2014-08-08 10:57:03

0

是的,你可以。只要確保在你的標記中分配class =「fooBar」時,在你的css文件中調用一個類「fooBar」,你就可以使用一致的大小寫。

2

是的,類名是區分大小寫的,所以工作正常。

但是,您應該意識到某些瀏覽器會出錯,並且不要將類名視爲區分大小寫。因此,應避免使用同名的大寫和小寫變體。某些瀏覽器可能會將類imgSuperimgsuper視爲相同。

+0

爲什麼downvote?如果你不解釋你認爲什麼是錯的,它不能改善答案。 – Guffa 2017-01-19 08:37:03