HTML5: Kimlik ve Sınıf Nitelikleri için İzin Verilen Değerler
HTML5'ten itibaren, bir kimliğin değerine ilişkin kısıtlamalar şunlardır:
- belgede benzersiz olmalı
- boşluk karakteri içermemelidir
- en az bir karakter içermelidir
Sınıflar için de benzer kurallar geçerlidir (tabii ki teklik hariç).
Böylece değer tüm basamaklar olabilir, sadece bir basamak, sadece noktalama işaretleri, özel karakterler içerir, her neyse. Sadece boşluk yok. Bu HTML4'ten çok farklı.
HTML 4'te kimlik değerleri bir harfle başlamalıdır; bu harfin ardından yalnızca harfler, rakamlar, tireler, alt çizgiler, iki nokta üst üste ve nokta işaretleri gelir.
HTML5'te bunlar geçerlidir:
<div id="999"> ... </div>
<div id="#%LV-||"> ... </div>
<div id="____V"> ... </div>
<div id="⌘⌥"> ... </div>
<div id="♥"> ... </div>
<div id="{}"> ... </div>
<div id="©"> ... </div>
<div id="♤₩¤☆€~¥"> ... </div>
Bir kimlik değerinde sayılar, noktalama işaretleri veya özel karakterler kullanmanın diğer bağlamlarda (örneğin, CSS, JavaScript, normal ifade) soruna neden olabileceğini unutmayın.
Örneğin, HTML5'te aşağıdaki kimlik geçerlidir:
<div id="9lions"> ... </div>
Ancak, CSS'de geçersiz:
CSS2.1 spesifikasyonundan:
4.1.3 Karakterler ve büyük / küçük harf
CSS'de tanımlayıcılar (seçicilerdeki öğe adları, sınıflar ve kimlikler dahil) yalnızca [a-zA-Z0-9] ve ISO 10646 karakterleri U + 00A0 ve üstü, artı kısa çizgi (-) ve alt çizgi ( _); bir rakam, iki kısa çizgi veya bir kısa çizgi ve ardından bir rakam ile başlayamazlar .
Çoğu durumda, karakterlerin kısıtlamaları veya özel anlamları olduğu bağlamlarda kaçabilirsiniz.
W3C Referansları
HTML5
3.2.5.1 id
Özellik
id
Nitelik onun elementin benzersiz tanımlayıcı (ID) belirtir.
Değer, öğenin ana alt ağacındaki tüm kimlikler arasında benzersiz olmalı ve en az bir karakter içermelidir. Değer boşluk karakteri içermemelidir.
Not: Bir kimliğin ne biçim alabileceğine dair başka kısıtlama yoktur; özellikle, kimlikler yalnızca rakamlardan oluşabilir, bir rakamla başlayabilir, alt çizgiyle başlayabilir, sadece noktalama işaretlerinden vb.
3.2.5.7 class
Özellik
Özellik belirtilirse, öğenin ait olduğu çeşitli sınıfları temsil eden, boşlukla ayrılmış belirteçler kümesi olan bir değere sahip olmalıdır.
Bir HTML öğesinin kendisine atadığı sınıflar, sınıf özniteliğinin değeri boşluklara bölündüğünde döndürülen tüm sınıflardan oluşur. (Kopyalar yok sayılır.)
Yazarların sınıf özniteliğinde kullanabileceği belirteçlerde ek kısıtlamalar yoktur, ancak yazarların içeriğin istenen sunumunu tanımlayan değerlerden ziyade içeriğin doğasını tanımlayan değerleri kullanmaları önerilir.