The difference between quoted and unquoted attribu

2019-06-27 20:34发布

问题:

I was wondering what is the difference between quoted and unquoted attributes in css selectors and does that have any effect on performance.

input[type="text"]

/

input[type=text]

Thanks in advance

回答1:

The above are the same. The quotes are optional for identifiers, but must be used when it is a string.

Some common examples of being a string include:

  • Containing a space ()
  • Beginning with a digit (0-9)
  • Containing a hyphen after a digit

Here's the full spec of an identifier:

In CSS, identifiers (including element names, classes, and IDs in selectors) can contain only the characters [a-zA-Z0-9] and ISO 10646 characters U+00A0 and higher, plus the hyphen (-) and the underscore (_); they cannot start with a digit, two hyphens, or a hyphen followed by a digit. Identifiers can also contain escaped characters and any ISO 10646 character as a numeric code (see next item). For instance, the identifier "B&W?" may be written as "B\&W\?" or "B\26 W\3F".


Further reading: http://www.w3.org/TR/css3-selectors/#attribute-selectors