带变量和乘法的 CSS Calc

标签 css

我正在使用 Nu Html Checker 验证我的 CSS:

https://validator.w3.org/nu/

考虑以下 CSS:

:root {
  --target-size: 48px;
}

.test1 {
  flex: 0 0 calc(var(--target-size) + 1px);
}

.test2 {
  min-height: calc(var(--target-size) - 0.5rem);
}

.test3 {
  flex: 0 0 calc(320px - 3 * var(--target-size));
}

验证器报告 .test1 没有错误和 .test2 .

但是,对于 .test3 ,验证器报告此错误:

错误:flex:类型不兼容。

我知道CSS规则规定对于乘法,至少有一个参数必须是<number>。 .我不认为这违反了。我试过将乘法嵌套在另一个 calc() 中,但错误仍然存​​在。

知道该规则有什么问题以及如何纠正它吗?

最佳答案

如果你改变乘法的顺序,它看起来是可行的:

flex: 0 0 calc(320px - var(--target-size) * 3);

关于 <number> 你是对的参数,但忽略了数字必须在乘法的右侧。

关于带变量和乘法的 CSS Calc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53244501/

相关文章:

php - 为什么我的 "Page [0]"不在我的网页中央?

javascript - 展开最后一项时自动滚动页面

php - 脚本需要很多时间来提供输出

javascript - 在打印时显示特定 div 的内容

javascript - 在加载时应用选择背景颜色?

css - 媒体查询 ipad vs iphone4

javascript - 如何检测元素是否具有::after(伪元素)?

html - 为什么div元素会叠加在这里?

jquery - 向下滚动跟进

html - iOS5 中基于元素的 native 滚动