Specyfikacja HTML dopuszcza kropki (.) W identyfikatorze:
<img id="some.id" />
Jednak użycie reguły selektora identyfikatora CSS nie będzie pasować poprawnie:
#some.id { color: #f00; }
Specyfikacja CSS dla selektorów ID nie wspomina o tym przypadku. Więc zakładam, że używa kombinacji nazwy tagu i selektora klasy ? Na przykład reguła CSS o wartości a.className
miałaby zastosowanie do wszystkich znaczników kotwicy ( <a>
) o nazwie klasy className
, na przykład <a class="className"></a>
.
Czy można mieć zewnętrzną regułę pliku CSS, która odwołuje się do elementu HTML za pomocą identyfikatora zawierającego kropkę?
Oczekuję, że nie, ponieważ CSS określa, że „ identyfikator ” CSS nie zawiera kropki jako prawidłowego znaku. Czy jest to więc podstawowa niezgodność między specyfikacjami HTML i CSS? Czy jedyną alternatywą jest użycie innego rodzaju wyboru CSS? Czy ktoś mądrzejszy ode mnie może to potwierdzić lub zaprzeczyć?
(Usunąłbym kropkę z atrybutu identyfikatora HTML, aby uprościć sprawę, ale jest to identyfikator wygenerowany przez system, więc nie mam możliwości zmiany go w tym przypadku).