【发布时间】:2016-09-24 00:57:22
【问题描述】:
我在一系列元素上有以下 css。
#foo-parent {
--rotation: 45deg;
}
@media (max-width: 1680px) {
.foo {
--multiplier: 8.33;
}
}
/* a number of other nearly identical media queries defining different values for --multiplier */
.foo {
transform: scale(calc(var(--multiplier) / 25)) rotate(calc(0deg - var(--rotation)))!important;
}
旋转变换工作正常,但没有开始缩放。如果我将其更改为
transform: scale(.222) rotate(calc(0deg - var(--rotation)))!important;
...它有效。
编辑:从进一步的测试中,如果我取出任何一半,每个都单独工作:
transform: scale(calc(var(--multiplier) / 25))!important;
transform: rotate(calc(0deg - var(--rotation)))!important;
只有当两个 css 变量位都存在时才会失败:
transform: scale(calc(var(--multiplier) / 25)) rotate(calc(0deg - var(--rotation)))!important;
那么,是否有只能使用 css 变量的限制,还是我还缺少其他东西?
【问题讨论】:
-
分别测试它们对我不起作用。请提供一个带有 html 标记的小提琴。
-
好吧,当它被抽象出来时,它在小提琴中工作;我将不得不四处玩耍,看看还有什么可能导致事情失败。无论如何:jsfiddle.net/hq24yt9w
-
对我来说,它是双向的,分开的和不分开的。您使用的是什么浏览器(和版本)?
-
设法找到了问题。当 #foo-parent 让类为 --rotation 赋予 45deg 的值时,转换起作用了。但是,我忽略了为 --rotation 赋予父级的默认值 0deg,因此,当 45deg 类未打开时,(空)旋转 似乎 正在工作,但实际上是(0deg - undefined),使整个变换无效,包括一半的比例。
标签: css css-variables