给定这个JavaScript对象,它只包含CSS样式.
var css = { background: '#ccc', color: '#333', fontSize: '30px' };
如何将其转换为内联CSS字符串?字符串应如下所示.
background: #ccc; color: #333; font-size: 30px
我的第一个想法是试图将对象转换为字符串.
css.toString()
但这只是给了我[object Object]
.
我想到的下一件事是解析它RegExp
,但我很快意识到这将永远需要,因为这应该适用于所有CSS规则,而不仅仅是这里列出的规则.
我试图寻找库,谷歌搜索似乎没有任何用处.
我找不到任何在NPM上执行此操作的软件包.我看到的所有包都与将CSS内联到DOM节点而不生成字符串有关.
这可能吗?
function style2string(obj){ var p = document.createElement("p"); // native version of extending a object Object.assign(p.style, obj); return p.getAttribute("style"); } var style = { background: '#ccc', color: '#333', fontSize: "30px" }; style2string(style) // "color: rgb(51, 51, 51); font-size: 30px; background: rgb(204, 204, 204);"