Ich lese überall, dass CSS nicht zwischen Groß- und Kleinschreibung unterscheidet, aber ich habe diesen Selektor
.holiday-type.Selfcatering
was, wenn ich es in meinem HTML verwende, so aufgegriffen wird
<div class="holiday-type Selfcatering">
Wenn ich den obigen Selektor so ändere
.holiday-type.SelfCatering
Dann wird der Stil nicht aufgegriffen.
Jemand erzählt Lügen.
html
css
css-selectors
Sachin Kainth
quelle
quelle
Antworten:
CSS-Selektoren unterscheiden im Allgemeinen nicht zwischen Groß- und Kleinschreibung. Dies schließt Klassen- und ID-Selektoren ein.
Bei HTML-Klassennamen wird jedoch zwischen Groß- und Kleinschreibung unterschieden (siehe Attributdefinition). Dies führt in Ihrem zweiten Beispiel zu einer Nichtübereinstimmung. Dies hat sich in HTML5 nicht geändert . 1
Dies liegt daran, dass die Groß- und Kleinschreibung von Selektoren davon abhängt, was die Dokumentensprache sagt :
Wenn also ein HTML-Element mit einer
Selfcatering
Klasse, aber ohneSelfCatering
Klasse gegeben ist, stimmen die Selektoren.Selfcatering
und[class~="Selfcatering"]
diese überein, während die Selektoren.SelfCatering
und[class~="SelfCatering"]
nicht. 2Wenn der Dokumenttyp Klassennamen als unabhängig von Groß- und Kleinschreibung definiert, haben Sie unabhängig davon eine Übereinstimmung.
1 Im Mackenmodus für alle Browser wird bei Klassen und IDs die Groß- und Kleinschreibung nicht berücksichtigt. Dies bedeutet, dass die nicht übereinstimmenden Selektoren immer übereinstimmen. Dieses Verhalten ist aus älteren Gründen in allen Browsern konsistent und wird in diesem Artikel erwähnt .
2 Für das, was es wert ist , Selektoren Ebene 4 enthält eine vorgeschlagene Syntax zum Erzwingen eines Groß- und Kleinschreibung Suche auf Werte Attribut
[class~="Selfcatering" i]
oder[class~="SelfCatering" i]
. Beide Selektoren stimmen ein HTML- oder XHTML-Element entweder mit einerSelfcatering
Klasse oder einerSelfCatering
Klasse (oder natürlich mit beiden) überein . Es gibt jedoch (noch?) Keine solche Syntax für Klassen- oder ID-Selektoren, vermutlich weil sie eine andere Semantik aufweisen als reguläre Attributselektoren (denen keine Semantik zugeordnet ist) oder weil es schwierig ist, eine verwendbare Syntax zu finden.quelle
div
undDIV
beide überein<div>
, aber die ID- und Klassennamenselektoren mussten genau zwischen Groß- und Kleinschreibung unterscheiden. Es sei denn, ich habe Ihre Antwort falsch verstanden?DIV
würde der Selektor nicht mehr übereinstimmen.).selfcatering
die Groß- und Kleinschreibung nicht berücksichtigt wird, warum sollte es dann wichtig sein, ob die KlasseSelfcatering
oderSelfCatering
oder istsElfcAtErInG
? Was vermisse ich?Vielleicht keine Lüge, aber Klärungsbedarf.
Das eigentliche CSS selbst unterscheidet nicht zwischen Groß- und Kleinschreibung.
Beispielsweise
Bei den Namen muss jedoch zwischen Groß- und Kleinschreibung unterschieden werden, um eindeutige Kennungen zu erhalten.
Hoffentlich hilft das.
quelle
Im Quirks-Modus verhalten sich alle Browser bei Verwendung von CSS-Klassen- und ID-Namen so, dass die Groß- und Kleinschreibung nicht berücksichtigt wird.
Manchmal, wenn Sie falsche Doctypes wie unten haben, wechselt Ihr Browser in den Mackenmodus.
Sie sollten den Standard-Doctype verwenden
HTML 5
HTML 4.01 Streng
HTML 4.01 Übergang
HTML 4.01 Frameset
XHTML 1.0 Streng
XHTML 1.0 Transitional
XHTML 1.0-Frameset
XHTML 1.1
Wenn sich Ihre CSS-Klassen- oder ID-Namen nicht zwischen Groß- und Kleinschreibung unterscheiden, überprüfen Sie bitte Ihren Doctype.
quelle
CSS unterscheidet nicht zwischen Groß- und Kleinschreibung.
In HTML5 wird bei Groß- und Kleinschreibung zwischen Groß- und Kleinschreibung unterschieden
Bei CSS-Eigenschaften, Werten, Pseudoklassennamen, Pseudoelementnamen und Elementnamen wird die Groß- und Kleinschreibung nicht berücksichtigt
Bei CSS-Klassen, IDs, URLs und Schriftfamilien wird zwischen Groß- und Kleinschreibung unterschieden.
Hinweis: Im HTML-Quirks-Modus wird bei CSS auch für ID und Klasse die Groß- und Kleinschreibung nicht berücksichtigt (wenn Sie die Doctype-Deklaration entfernen).
Beispiel für CodePen: https://codepen.io/swapnilPakolu/pen/MWgvQyB?&editable=true#anon-signup
quelle