2012-05-27 26 views
1

比方說,我有當類名只是一個整數時,如何編寫CSS選擇器?

<span class="1">hello</span> 

我要聲明:(即不被應用的CSS規則)

span.1 { /* rules */ } 

這似乎並沒有工作,有沒有辦法讓這個上班?我試着在CSS選擇器中引用「1」,但看起來並不是這樣。

+6

'1'不是有效的CSS類名稱。請參閱http://stackoverflow.com/questions/448981/what-c​​haracters-are-valid-in-css-class-names –

回答

4

您應該始終將您的類和ID命名爲語義。一個數字對任何人有什麼意義?它算什麼?

爲了避免這種情況,將ID和類命名爲整數不是valid CSS according to W3,因此大多數瀏覽器都不支持。始終驗證您的HTML和CSS。

解決方案是簡單地給你的班級一個更有意義的名字。你在計算什麼?它是否在博客上發表評論?如果是這樣,您可以將類comment添加到它們中的每一個。如果您確實需要每個名稱的唯一名稱,則可以使用comment5來代替,但這看起來與類沒有多大關係,在這種情況下,您應該使用ID。

確切命名要求也在W3C's CSS specification, section 4.1.3 Characters and case描述:

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

+0

我正在計算字符的類別,其中每個類別的樣式是不同的。生成HTML的程序只是爲每個遇到的新類別增加一個計數器。這就是我最終得到的由一個整數組成的類名(我現在看到前面加了「_」或其他答案就是這樣)。ID的確不是一個選項,因爲每個類別都有多個字符。 – gcbenison

+0

預先考慮'_'不會使它更加語義化。爲什麼不按照他們的類別命名呢?不只是代表類別的數字。或者至少,用'category'作爲前綴。 – kba

3

因此,您應該檢查CSS Grammar

因此,名稱必須以下劃線_,字母(a-z)開頭,後跟任意數量的破折號,下劃線,字母或數字。

編輯: 我建議你讀這篇文章Valid chars in CSS class names。 同事@Triptych給了我們一個很棒的答案。

+0

不正確。標識符不能以破折號開始,然後跟着一個,例如'--foo'不是一個有效的類名。 – kba

+0

它的真實我試過了,它不工作,編輯。謝謝 – Sajmon

相關問題