0

目前,我正在构建一个从 JSON 文件、CSS 选择器和样式生成的应用程序。我目前正在尝试获取影响元素的所有样式,我目前有一个不好的解决方案。目前,我的每个选择器都将相同的自定义变量设置为继承 false 到它的 id,然后我循环遍历元素并根据 id 是什么从 id 中删除该变量,直到它再次为空,然后我将它们添加回每个 CSS 选择器并使用我拥有的数组。

这个解决方案很糟糕,因为当我删除变量并且它线性缩放时它会强制进行大量回流,而且随着元素拥有的子元素越多,它会变得越来越慢。

我可以通过使用查询选择器循环每个选择器来在启动时获得所有影响元素,但是当我在它启动后添加一个元素时,为我添加的每个元素的每个 CSS 选择器运行查询选择器并比较它们太昂贵了。

另一种解决方案可能是编写一个反向算法,但是使用那个,由于所有选择器(如 nth-child、first、元素、按属性等)的绝对复杂性,它会非常复杂 -

有什么想法吗?

4

0 回答 0