[英]CSS attribute selectors: The rules on quotes (", ' or none?)
这个问题一直困扰着我一段时间。 编写一个CSS选择器时,会像这样比较一个元素的属性。
a[rel="nofollow"]
我永远不知道我应该用引号做什么。 他们真的有必要吗?
基本上,这是什么规范,因为我无法在网站上找到它。
所有这些都被认为是有效的吗?
a[rel="nofollow"]
a[rel='nofollow']
a[rel=nofollow]
我在这里写了更多关于这个主题的文章: 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
字符串可以用双引号或单引号编写。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.