17

我正在尝试使用 CSS vars 进行一些实验,但我无法让它工作或找到任何关于它的文档。有谁知道是否可以在 CSS3 选择器中使用 CSS var?

我做了下面的例子来解释我想要做什么。此示例仅适用于 Chrome。

JSFIDDLE

http://jsfiddle.net/68Rrn/

CSS

:root {
    -webkit-var-count: 5; /* define my var! */
}

li {
    width:100px;
    height:100px;
    background-color:blue;
    display:inline-block;
    list-style:none;
}


ul li:nth-child(4) {
    background-color:red;
}

ul li:nth-child(-webkit-var(count)) { /* I can't get this working, is it even supported? I'm trying to target the 5th element with my var. */
    background-color:black;
}

HTML

<ul>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
</ul>
4

1 回答 1

23

级联变量(即var()符号)没有被定义用于除了属性声明之外的任何东西,所以不,它们不能在选择器中使用。从它们的名字来看,这是有道理的,因为只有属性声明可以级联,而不是选择器。从规格

变量可以用来代替元素上任何属性中值的任何部分。变量不能用作属性名称、选择器或除属性值之外的任何其他内容。(这样做通常会产生无效的语法,否则会产生与变量无关的值。)

于 2013-07-30T16:03:19.513 回答