【问题标题】:The difference between quoted and unquoted attribute selector in CSSCSS中带引号和不带引号的属性选择器的区别
【发布时间】:2015-08-16 04:31:55
【问题描述】:

我想知道 css 选择器中带引号和不带引号的属性有什么区别,这对性能有什么影响。

input[type="text"]

/

input[type=text]

提前致谢

【问题讨论】:

    标签: css performance css-selectors


    【解决方案1】:

    以上内容相同。 identifiers 的引号是可选的,但当它是 string 时必须使用引号。

    成为string 的一些常见示例包括:

    • 包含一个空格 ()
    • 以数字开头 (0-9)
    • 在数字后包含连字符

    这里是the full spec of an identifier:

    在 CSS 中,标识符(包括选择器中的元素名称、类和 ID)只能包含字符 [a-zA-Z0-9] 和 ISO 10646 字符 U+00A0 及更高,加上连字符 (-) 和下划线 (_);它们不能以数字、两个连字符或一个连字符后跟一个数字开头。标识符还可以包含转义字符和任何 ISO 10646 字符作为数字代码(请参阅下一项)。例如,标识符“B&W?”可以写成“B\&W\?”或“B\26 W\3F”。


    延伸阅读:http://www.w3.org/TR/css3-selectors/#attribute-selectors

    【讨论】:

    • 所以可以肯定地假设性能没有差异?
    • @EmreTürkiş 如果有,它取决于浏览器并且基本上无法测量。
    • 还有许多其他情况需要引用该值。一旦你意识到这一点,你基本上就没有理由再考虑这种情况下的性能问题了。
    • "属性值必须是 CSS 标识符或字符串。[CSS21]" 基本上区分标识符和字符串的任何东西。最常见的其他问题是值以数字开头,因为 ident 不能以数字开头。
    • @BoltClock 更新了我的答案。谢谢!
    猜你喜欢
    • 2015-04-03
    • 2021-09-18
    • 1970-01-01
    • 2011-05-19
    • 1970-01-01
    • 2012-05-05
    • 2021-12-26
    • 1970-01-01
    相关资源
    最近更新 更多