这是什么意思:body [data-page~ ='hello'],在CSS3中?

时间:2013-08-04 18:37:41

标签: css css3 css-selectors

在CSS3中,有什么区别:

body[data-page~='hello'] {

}

body[data-page='hello'] {

}

我已经看到〜被称为一般兄弟组合,http://css-tricks.com/child-and-sibling-selectors/但我在上面的语境中并不理解。

感谢。

1 个答案:

答案 0 :(得分:14)

来自CSS3 specification

  

[att=val]:表示具有att属性的元素,其值正好为“val”。

     

[att~=val]:表示具有att属性的元素,其值为whitespace - 单词列表,其中一个正好是“val”。如果“val”包含空格,则它将永远不会表示任何内容(因为单词以空格分隔)。此外,如果“val”是空字符串,它将永远不会代表任何东西。

因此<body data-page="hello world">将与第一条规则匹配,但不与第二条规则相匹配。