Diese Frage nervt mich schon eine Weile. Beim Schreiben eines CSS-Selektors, der mit dem Attribut eines Elements wie folgt verglichen wird.
a[rel="nofollow"]
Ich weiß nie, was ich mit den Anführungszeichen machen soll. Sind sie wirklich notwendig?
Grundsätzlich, was ist die Spezifikation dafür, weil ich es nicht auf der Website finden kann.
Werden alle diese als gültig angesehen?
a[rel="nofollow"]
a[rel='nofollow']
a[rel=nofollow]
css
string
css-selectors
Olical
quelle
quelle
Antworten:
Ich habe hier ausführlicher zu diesem Thema geschrieben: Nicht zitierte Attributwerte in HTML und CSS .
Ich habe auch ein Tool erstellt, mit dem Sie Ihre Frage beantworten können: http://mothereff.in/unquoted-attributes
Sie können die Anführungszeichen normalerweise weglassen, solange der Attributwert alphanumerisch ist (es gibt jedoch einige Ausnahmen - alle Details finden Sie im verlinkten Artikel). Wie auch immer, ich finde es eine gute Praxis, die Anführungszeichen trotzdem hinzuzufügen, falls Sie sie benötigen, dh
a[href^=http://]
nicht funktionieren, abera[href^="http://"]
werden.Der Artikel, den ich erwähnt habe, enthält Links zu den entsprechenden Kapiteln in der CSS-Spezifikation.
quelle
- http://www.w3.org/TR/CSS2/selector.html#attribute-selectors
Die ersten beiden verwenden Zeichenfolgen. Der dritte verwendet eine Kennung.
- http://www.w3.org/TR/CSS2/syndata.html#value-def-identifier
- http://www.w3.org/TR/CSS2/syndata.html#strings
quelle