这个问题困扰了我一段时间。像这样编写与元素属性进行比较的CSS选择器时。
a[rel="nofollow"]
我永远不知道该如何使用引号。他们真的有必要吗?
基本上,这是什么规范,因为我无法在网站上找到它。
所有这些都被认为有效吗?
a[rel="nofollow"]
a[rel='nofollow']
a[rel=nofollow]
这个问题困扰了我一段时间。像这样编写与元素属性进行比较的CSS选择器时。
a[rel="nofollow"]
我永远不知道该如何使用引号。他们真的有必要吗?
基本上,这是什么规范,因为我无法在网站上找到它。
所有这些都被认为有效吗?
a[rel="nofollow"]
a[rel='nofollow']
a[rel=nofollow]
Answers:
我在这里对此主题进行了更广泛的写作:HTML和CSS中未引用的属性值。
我还创建了一个工具来帮助您回答问题:http : //mothereff.in/unquoted-attributes
只要属性值是字母数字字符,通常就可以省略引号(但是,有些例外-有关所有详细信息,请参见链接的文章)。无论如何,我发现最好还是添加引号,以防万一您需要它们,即a[href^=http://]
行不通,但是a[href^="http://"]
会。
我提到的文章链接了CSS规范中的相应章节。
属性值必须是标识符或字符串
— http://www.w3.org/TR/CSS2/selector.html#attribute-selectors
前两个使用字符串。第三个使用标识符。
标识符(包括选择器中的元素名称,类和ID)只能包含字符[a-zA-Z0-9]和ISO 10646字符U + 00A0及更高版本,以及连字符(-)和下划线(_);它们不能以数字,两个连字符或连字符后跟数字开头。
— http://www.w3.org/TR/CSS2/syndata.html#value-def-identifier
字符串可以用双引号或单引号书写。