2009-10-12 46 views
2

以下有效的類名是?有效的CSS類?

.text-moretext 

.text&text 

.text_text 

.text(text) 

我想是任何允許包含特殊字符的CSS類?

+6

代碼:http://stackoverflow.com/questions/448981/what-c​​haracters-are-valid-in-css-class-names – slikts 2009-10-12 13:55:32

+0

把這個類作爲代碼,使用高亮。謝謝! – 2009-10-12 13:57:50

回答

2
  • .text-moretext允許
  • .text&text是不允許的,因爲&是
  • .text_text允許
  • .text(text)不允許
+0

怎麼樣_text-moretext? – 2014-01-26 15:49:45

+1

@YannisDran'.person__hand - left'很好。這是由BEM語法http:// csswizardry鼓勵的一種風格。com/2013/01/mindbemding-getting-your-head-round-bem-syntax/ – ptim 2014-11-12 00:54:54

1

字符az,AZ在HTML特殊字符,數字,連字符( - )和下劃線(_)是類名稱中允許的常用字符。 (還有一些文化特定字符允許,但沒有其他標點符號。)

因此,text-moretexttext_text是有效的類名稱。

如有疑問,請以標點符號和異國情調字符限制。一些舊版瀏覽器可能並不總是會正確...

5

是的,您可以在類名中使用任何字符,除了用於分隔類名稱的空格:class is a cdata-list。有些角色需要轉義。對於HTML:

<div class="text&amp;moretext"> ... </div> 

,並在選擇:

.text\&text { ... } 
.text\(text\) { ... } 

它通常最好避免在可能的編碼理智,但肯定的,如果你需要,你可以做到這一點。

+0

+1該死的,太慢了。 – Gumbo 2009-10-12 14:04:31

5

根據CSS規範,Section 4.1.3

在CSS中,標識符(包括 元素名,類和在 選擇器的ID)可以只包含 字符[A-ZA-Z0-9 ]和ISO 10646 字符U + 00A1和更高,加上 連字符( - )和下劃線(_); 它們不能以數字開頭,或者連字符後跟數字。 標識符還可以包含轉義的 字符和任何ISO 10646字符 作爲數字代碼(請參見下一項)。對於 實例,標識符「B & W?」可能是 寫成「B \ & W \?」或「B \ 26 W \ 3F」。

所以,.text-moretext.text_text是有效的標識符(可以用作類名),而.text&text.text(text)沒有(儘管@bobince指出的那樣,你可以爲了將它們用作逃跑的特殊字符標識符的一部分)。