【发布时间】:2017-03-28 23:19:51
【问题描述】:
我正在测试一个通过微类指定数字的 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 是否会为50% 的自定义属性--percent 生成一个值。不幸的是,如果我使用getComputedStyle 检查--percent 的值,我会看到整个(未解析的、未计算的)“calc”字符串。如果我检查width 的值,我会得到已经解析的值,例如“512px”。
是否有某种方法可以以编程方式获取和验证自定义 CSS 属性的已解析计算值?还是一个 API 来强制评估“calc”表达式?
【问题讨论】:
-
相关:stackoverflow.com/questions/28715872/… 虽然这与自定义属性的计算方式无关,但它提供了一些关于 calc() 在该领域的不足之处的见解。
标签: css css-calc css-variables