代码之家  ›  专栏  ›  技术社区  ›  mpen

CSS属性选择器值中的值是否需要引用?

  •  4
  • mpen  · 技术社区  · 15 年前

    例如。:

    a[href="val"]
    

    4 回复  |  直到 15 年前
        1
  •  3
  •   Marcus Pope    12 年前

    除非值符合 identifier specification for CSS2.1

    有趣的是@Pekka引用的css spec链接恰好在它们的特定示例周围使用引号。

    这不仅仅是因为非字母字符,比如句点或斜杠,给了这种特殊的情况一个引号要求——如果你只是在中使用“domain”,那么使用部分匹配选择器~=是行不通的域名.com"

    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及更高,加上连字符(-)和下划线(939;);它们不能以数字、两个连字符或一个连字符后跟一个数字开头。标识符还可以包含转义字符和作为数字代码的任何ISO 10646字符(见下一项)。例如,标识符“B&W?”可以写为“B\&W\?”或“B\26 W\3F”。

        2
  •  3
  •   Community CDub    5 年前

    根据书中的例子 CSS 2.1 specs

    在下面的示例中,选择器匹配“class”属性值正好为“example”的所有SPAN元素:

    span[class=example] { color: blue; }
    

    这里,选择器匹配所有SPAN元素,这些SPAN元素的“hello”属性的值正好是“Cleveland”,而“goodbye”属性的值正好是“Columbus”:

    span[hello="Cleveland"][goodbye="Columbus"] { color: blue; }
    

    数字被视为字符串,也就是说,它们可以被引用,但它们不必被引用。

        3
  •  1
  •   Oded    15 年前

    不,它们不需要引号,为了避免歧义,很多人使用引号,如果值包含空格,就需要引号。

    单引号或双引号都可以,整数的处理方式是相同的(css在字符串和整数之间没有区别)。

    请参见中的示例 the spec .

        4
  •  -1
  •   Community CDub    8 年前

    字符串/双精度/整数之间也没有区别。 CSS isn't Turing-complete ,更不用说打字了。

    推荐文章