Anda dapat memeriksa langsung di tata bahasa CSS .
Pada dasarnya 1 , nama harus dimulai dengan garis bawah ( _
), tanda hubung ( -
), atau huruf ( a
- z
), diikuti oleh sejumlah tanda hubung, garis bawah, huruf, atau angka. Ada tangkapan: jika karakter pertama adalah tanda hubung, karakter kedua harus 2 menjadi huruf atau garis bawah, dan nama harus minimal 2 karakter.
-?[_a-zA-Z]+[_a-zA-Z0-9-]*
Singkatnya, aturan sebelumnya diterjemahkan menjadi yang berikut, diekstraksi dari spesifikasi W3C. :
Dalam CSS, pengidentifikasi (termasuk nama elemen, kelas, dan ID dalam pemilih) hanya dapat berisi karakter [a-z0-9] dan ISO 10646 karakter U + 00A1 dan lebih tinggi, ditambah dengan tanda hubung (-) dan garis bawah (_) ; mereka tidak bisa mulai dengan angka, atau tanda hubung diikuti oleh angka. Pengidentifikasi juga dapat berisi karakter yang lolos dan karakter ISO 10646 apa pun sebagai kode numerik (lihat item berikutnya). Misalnya, pengidentifikasi "B&W?" dapat ditulis sebagai "B \ & W \?" atau "B \ 26 W \ 3F".
Pengidentifikasi yang dimulai dengan tanda hubung atau garis bawah biasanya disediakan untuk ekstensi khusus browser, seperti pada -moz-opacity
.
1 Semuanya dibuat sedikit lebih rumit dengan masuknya karakter unicode yang lolos (yang tidak ada yang benar-benar menggunakan).
2 Perhatikan bahwa, menurut tata bahasa yang saya tautkan, aturan yang dimulai dengan DUA tanda hubung, misalnya --indent1
, tidak valid. Namun, saya cukup yakin saya sudah melihat ini dalam praktek.