下面的选择器用哪种方式编写有关系吗?validates both ways和W3C规范似乎没有提到引号的问题。
备选办法1:
input[type=text]
备选方案二:
input[type='text']
我见过有引号和没有引号的选择器,这两种方式都适用于CSS或jQuery吗?
那么,使用引号仅仅是偏好的问题吗?语义的问题?CSS版本的问题?
我们有两个方法是因为 * 向后兼容 * 吗?如果是,哪种方法是最好的?
除了the accepted answer to this other SO question,我认为引号是最好的:
input[type='text']
3条答案
按热度按时间9rbhqvlz1#
我可以这样总结:
对于
[type=text]
,如果愿意,可以去掉引号,因为text
是法律的的CSS标识符。我个人更喜欢一致性,不需要去想它,也不会有犯错误的机会,所以我总是把引号放进去。
2izufjch2#
根据CSS规范(版本2和3):
属性值必须是标识符或字符串。
字符串用双引号或单引号括起来,
[type="text"]
,而标识符[type=text]
的定义如下:在CSS中,标识符(包括元素名、类和选择器中的ID)只能包含字符[a-zA-Z 0 -9]和ISO 10646字符U+00 A0及更高,加上连字符(-)和下划线(_);标识符不能以一个数字、两个连字符或连字符后跟一个数字开头。2标识符还可以包含转义字符和任何ISO 10646字符作为数字代码(见下一项)。3例如,标识符“B&W?”可以写成“B&W\?”或“B\26W\3F”。
简单地说,无论哪种方式都可以,这是一个偏好的问题。字符串的优点(即引用你的属性值)是一致性;每个值都可以表示为字符串,但不是所有的值都可以表示为标识符。2你可以通过this page来运行值,以检查你是否需要引号。
tjvv9vkg3#
我将继续使用
input[type='text']
。