html - 是否可以在 CSS3 选择器中使用 CSS 变量?

标签 html css css-selectors css-variables

我正在尝试使用 CSS 变量进行一些实验,但我无法让它工作或找到任何关于它的文档。有谁知道是否可以在 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>

最佳答案

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

A variable can be used in place of any part of a value in any property on an element. Variables can not be used as property names, selectors, or anything else besides property values. (Doing so usually produces invalid syntax, or else a value whose meaning has no connection to the variable.)

关于html - 是否可以在 CSS3 选择器中使用 CSS 变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17951877/

相关文章:

html - 背景颜色不适用于 HTML 元素?

html - 在导航菜单中选择当前或事件链接的语义方式

html - div的垂直对齐

vertical-alignment - 内联 block 最后一个子元素问题

css - 嵌套 CSS 类

javascript - 在保持均匀速度的同时通过 Canvas 上的一系列点为对象设置动画?

jquery - 在 jQuery 中切换一个 p.class,但它一直在抓取标签之外的图像

php - <option> 标签中有多个值?

css - 如何防止div侧边栏重叠内容?

css - 使用 CSS 过渡平滑 javascript 驱动的快速位置变化?