Frage Kann ich camel-case in CSS-Klassennamen verwenden?


Ich möchte eine CSS-Klasse benennen und sie imgSuper nennen. Kann ich camel-casing in CSS-Klassen verwenden?


29
2017-10-10 13:40


Ursprung


Antworten:


Technisch ja, aber es ist riskant, da CSS-Syntax in Groß- und Kleinschreibung nicht beachtet wird. In manchen Browsern werden Klassennamen unter bestimmten Bedingungen als Groß- und Kleinschreibung behandelt, da die Spezifikation nicht angibt, wie Browser beim Anpassen von CSS-Regeln an die HTML-Klasse verfahren soll Namen.

Von die Spezifikation, Abschnitt 4.1.3:

Bei allen CSS-Syntax wird die Groß- / Kleinschreibung innerhalb des ASCII-Bereichs nicht beachtet ...

In CSS können Bezeichner (einschließlich Elementnamen, Klassen und IDs in Selektoren) nur die Zeichen [a-zA-Z0-9] und ISO 10646 Zeichen U + 00A1 und höher sowie den Bindestrich (-) und den Unterstrich ( _); Sie können nicht mit einer Ziffer oder einem Bindestrich gefolgt von einer Ziffer beginnen. Bezeichner können auch maskierte Zeichen und jedes ISO 10646-Zeichen als numerischen Code enthalten (siehe nächster Punkt). Zum Beispiel die Kennung "B & W?" kann als "B \ & W \?" geschrieben werden oder "B \ 26 W \ 3F".

... die Groß- und Kleinschreibung von Werten der HTML-Attribute "id" und "class", von Fontnamen und von URIs liegt außerhalb des Rahmens dieser Spezifikation.

Anstatt die Browser und Bedingungen zu lernen, bei denen Groß- und Kleinschreibung sensibel ist, sollten Sie am besten feststellen, dass der beste Ansatz am ehesten kompatibel ist: Verwenden Sie im gesamten Code für eine bestimmte CSS-Klasse den gleichen Fall und erstellen Sie nicht zwei oder mehr CSS-Klassen Namen, die sich nur im Fall unterscheiden.


38
2017-10-10 13:42



Sicher. Hier sind die offiziellen Regeln; Im Grunde sollten Sie den Namen nicht mit einer Zahl beginnen, sondern Buchstaben, Zahlen, Bindestriche, Unterstriche und Escape- oder codierte Zeichen verwenden.

Allerdings werden Bindestriche im Allgemeinen anstelle von Kamelfällen verwendet.


6
2017-10-10 13:49



Ja, bei Klassennamen wird zwischen Groß- und Kleinschreibung unterschieden. Das funktioniert also gut.

Sie sollten sich jedoch darüber im Klaren sein, dass einige Browser dies falsch interpretieren und Klassennamen nicht als Groß- und Kleinschreibung behandeln. Daher sollten Sie vermeiden, die Groß- und Kleinschreibung desselben Namens zu verwenden. Die Klassen imgSuper und imgsuper kann von einigen Browsern als gleich behandelt werden.


1
2017-10-10 14:03



Ja, du kannst. Seien Sie einfach sicher, dass wenn Sie eine Klasse "fooBar" in Ihrer CSS-Datei aufrufen, dass Sie konsistente Obergrenzen verwenden, wenn Sie class = "fooBar" in Ihrem Markup zuweisen.


0
2017-10-10 13:51