如何将CSS混合应用于本机Javascript?

如何将CSS混合应用于本机Javascript?,javascript,css,ecmascript-6,css-variables,Javascript,Css,Ecmascript 6,Css Variables,如果我的浏览器有来自CSS属性的本机实现,那么我应该有某种Javascript API来处理混合,就像我可以处理CSS变量一样: document.body.style.setProperty('--some property',value'); 我在谷歌上搜索了一下,但遗憾的是,大多数情况下,我遇到了一个css框架,这个框架有一些技巧,可以让css与javascript混合,遗憾的是,我没有找到关于这个的API文档,有人知道怎么做 这是一个什么有一个API,但在那里我只能找到setPrope

如果我的浏览器有来自CSS属性的本机实现,那么我应该有某种Javascript API来处理混合,就像我可以处理CSS变量一样:

document.body.style.setProperty('--some property',value');
我在谷歌上搜索了一下,但遗憾的是,大多数情况下,我遇到了一个css框架,这个框架有一些技巧,可以让css与javascript混合,遗憾的是,我没有找到关于这个的API文档,有人知道怎么做

这是一个什么有一个API,但在那里我只能找到setProperty方法,但没有setMixin方法

进度:

如果我向style属性添加
@apply--somemixin则不应用mixin。现在我想我应该尝试制作定制的内联css并添加到文档中,但这仍然是一种很难做到的方法,而且它也不起作用

这里有一些测试片段,但请注意,您需要在浏览器中激活Experiential web平台功能,才能看到mixin的工作

let container=document.getElementById('container');

对于(var i=1;i我发现了一个黑客解决方案,它正在工作,但不是我想要的解决方案的确切API类型,但是对于那些想要快速解决问题的人,可以获得style属性并将mixin directley添加到元素中:

let element = document.querySelector('some-element');

/* IMPORTANT!
 * do something with element.style and/or add css-property
 * before you change the style attribute!
 */

// get the current custom styles
let style = element.getAttribute('style');

// apply css mixin to the element:
element.setAttribute('style', `${style} @apply --some-mixin;`);

// set css mixin to the element:
element.setAttribute('style', `${style} --some-mixin: { /*...*/ };`);

你必须检查它是如何在原生css中完成的。Polymer的API不支持它。你可以阅读它。你可以阅读标记为caveats@a1626我知道如何在css中创建css mixin,我想创建“@apply--some--mixin-based-property和添加到和元素,但我没有找到与此相关的本地javascript实现。聚合元素部分只是问题的一个糖分:)我知道聚合不支持也不会支持它。如果聚合不是问题的一部分,请随意删除您提到的几个地方,因为这显然会分散你的注意力。然后把你问题的标题改成你已经有的粗体大文本。@MikeMcCaughan好的,我改了。我为SEO porpuse制作了这个标题,所以如果有人碰到这个,他们也可以用Polymer关键字找到它。我能请你帮个忙吗?您可以将css mixins标记添加到此中吗?:)它需要我没有的东西。