我正在测试一个通过微类指定数字的 CSS 框架。例如,类似的东西<div class="fifty percent wide">可能会翻译成width: 50%. 该实现使用 CSS 变量(自定义属性)。
考虑以下 CSS:
.fifty { --number: 50; }
.percent { --percent: calc(1% * var(--number)); }
.wide { width: var(--percent); }
这一切都很好,效果很好。问题是我想编写一个测试套件,该套件将验证fifty percent结果是否--percent为50%. 不幸的是,如果我getComputedStyle用来检查 的值--percent,我会看到整个(未解析的、未计算的)“calc”字符串。如果我检查 的值width,我会得到已经解析的值,例如“512px”。
有没有办法以编程方式获取和验证自定义 CSS 属性的已解析计算值?还是一个 API 来强制评估“calc”表达式?