CSS属性select器:关于引号的规则(“,”或none?)
这个问题已经困扰了我一段时间了。 当写一个CSSselect器,比较一个元素的属性如此。
a[rel="nofollow"]
我不知道我应该用引号来干什么。 他们真的有必要吗?
基本上,这是什么规范,因为我无法在网站上find它。
所有这些都被认为是有效的吗?
a[rel="nofollow"] a[rel='nofollow'] a[rel=nofollow]
我在这里写了更多的关于这个主题的信息: 在HTML和CSS中没有引用属性值 。
我也创build了一个工具来帮助你回答你的问题: http : //mothereff.in/unquoted-attributes
只要属性值是字母数字,通常可以省略引号(但是,也有一些例外 – 请参阅链接文章中的所有详细信息)。 无论如何,我觉得这是一个很好的做法,无论如何添加引号,如果你需要他们,即a[href^=http://]
将无法正常工作,但a[href^="http://"]
将。
我提到的文章链接到CSS规范中适当的章节。
属性值必须是标识符或string
– http://www.w3.org/TR/CSS2/selector.html#attribute-selectors
前两个使用string。 第三个使用一个标识符。
标识符(包括select器中的元素名称,类别和ID)只能包含字符[a-zA-Z0-9]和ISO 10646字符U + 00A0及更高版本,以及连字符( – )和下划线(_); 他们不能以数字,两个连字符或连字符后跟数字开头。
– http://www.w3.org/TR/CSS2/syndata.html#value-def-identifier
string可以用双引号或单引号来书写。