我在一系列元素上有以下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变量,或者还有其他我缺少的东西?
答案 0 :(得分:0)
在这里缺少代码的部分很难帮助您,因为使用第一个视图它应该可以工作。
但是在您这一边,您可以检查一些事情来调试这种情况:
--size: calc(var(--size) + 50px);
invalid at computed time
,这意味着在特定的上下文中,计算变量的值没有意义。 (https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_custom_properties#Validity_and_values)我希望这个小清单可以对您有所帮助:)
PS。您可以在某些情况下使用后备广告:https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_custom_properties#Custom_property_fallback_values