回答
TLDR:行情是必需的,除非该值满足identifier specification for CSS2.1
CSS规范可能会说它们是可选的,但现实世界中呈现出不同的故事。在对href属性进行比较时,您需要使用引号(在我非常有限的测试中进行单项或双项工作 - FF,IE,Chrome的最新版本。)
有趣的是@Pekka引用的CSS规范链接发生在他们的href特定示例中使用引号。
它不仅仅是由于像句点或斜杠这样的非字母字符给这个独特的情况一个报价要求 - 使用部分匹配选择器〜=不起作用,如果你只是在“域”中使用“域” .com“
好吧,这里的每个答案都是错误的(包括我自己以前的答案)。CSS2规范没有说明是否需要引号在选择器部分本身,但CSS3规范确实并引用规则为一个CSS21实现:
http://www.w3.org/TR/css3-selectors/
属性值必须是CSS标识符或字符串。 [CSS21]选择器中属性名称和值的区分大小写取决于文档语言。
这里是标识符信息:
http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier
在CSS中,标识符(包括元素名,类和在选择器的ID)可以只包含字符[ a-zA-Z0-9]和ISO 10646字符U + 00A0及更高版本加上连字符( - )和下划线(_);他们不能以数字,两个连字符或连字符后跟数字开头。标识符也可以包含转义字符和任何ISO 10646字符作为数字代码(参见下一项)。例如,标识符“B & W?”可写成“B \ & W \?”或“B \ 26 W \ 3F”。
我的回答似乎是正确的,但那是因为“〜=”是一种白色空间选择比较所以它永远不会匹配一个href值内的部分字符串。然而'* ='比较器可以工作。像'域'这样的部分字符串可以用于匹配href ='www.domain.com'。但检查完整的域名将不起作用,因为它违反了标识符规则。
不,他们不必为了避免含糊不清而引用强词,许多人使用引号,如果该值包含空格,则需要引号。
无论是单引号还是双引号都可以,并且整数将以相同方式处理(css没有区分字符串和整数)。
请参阅the spec中的示例。
这个答案并不完全正确......看到这个小提琴---> https://jsfiddle.net/k6avfo7k/。使用属性和属性选择器的各种组合(^ =,$ =,| =,=,* =),您将看到CSS以例如[name $ = 1]打破,但在[name $ =“1 “] – 2017-09-12 13:22:32
他们不需要被引用。
字符串/双打/整数也没有区别。 CSS isn't Turing-complete,更不用说输入了。
未加引号的值必须以字母开头。 – 2014-06-29 14:33:42
看到我对Pekka的答案的评论。 – 2014-06-29 17:03:59
这个答案并不完全正确......看到这个小提琴---> https://jsfiddle.net/k6avfo7k/。使用属性和属性选择器的各种组合(^ =,$ =,| =,=,* =),您将看到CSS以例如[name $ = 1]打破,但在[name $ =“1 “] – 2017-09-12 13:22:55
根据CSS 2.1 specs中的示例,引号是可选的。
在下面的例子中,选择所有SPAN元件,其“class”属性恰好具有值“例如”匹配:
span[class=example] { color: blue; }
在此,选择所有SPAN元件,其匹配“你好”属性正好有值“克利夫兰”和他的“再见”属性具有完全相同的价值“哥伦布”:
span[hello="Cleveland"][goodbye="Columbus"] { color: blue; }
数字被当作字符串,即次埃可以被引用,但他们不需要。
啊..正在阅读css3规范,我看到的所有示例都使用了引号。 – mpen 2010-10-03 19:04:28
未加引号的值必须以字母开头。 – 2014-06-29 14:34:09
@DaveSchweisguth'[引用需要]' – 2014-06-29 16:50:34
- 1. 从XML列中选择属性值时,是否需要/ text()?
- 2. HTML属性是否需要引号?
- 3. 选择器需要可绘制属性?
- 4. CSS - 如何选择多个属性值?
- 5. 从属性选择器中提取值
- 6. 如何使用css选择器提取属性值?
- 7. 需要取决于属性值的值
- 8. 设置属性值时是否需要使用临时变量?
- 9. 需要一个值属性
- 10. 选择BypassPrepare属性的值
- 11. QT CSS中的属性选择器
- 12. '未选择'属性值在下拉框中选择的值
- 13. ObservableCollection中的属性是否需要PropertyChangedEvent
- 14. 自定义属性值jQuery选择器
- 15. JQuery按属性值选择器?
- 16. kineticjs是否提供属性选择器?
- 17. Angular 2通过css选择器和html属性添加值
- 18. CSS选择器无法匹配数字属性值?为什么?
- 19. CSS属性没有值选择器问题
- 20. JavaScript/DOM - “CSS选择器”和属性之间是否有区别?
- 21. CSS属性选择器vs CSS选择器
- 22. 使用PHP的xpath选择属性值
- 23. SimpleXML中的属性值选择
- 24. 是否可以在内容属性的值中使用CSS自定义属性?
- 25. jquery的,属性选择器,获得当前属性值
- 26. CSS属性的值
- 27. 在lambda表达式中使用的Lambda属性值选择器
- 28. 子类的CSS属性选择器
- 29. 类名称的CSS属性选择器
- 30. 属性选择器的值等于A还是B?
Hrm ...很奇怪。我不知道这是为什么? – mpen 2011-09-02 20:35:13