Moh*_*fik 3 javascript css reactjs
在 React 项目中,最终用户可以使用工具生成 CSS。
我找到了如何生成 JS 对象并将其传递给style={}属性,但我想将生成的 JS 对象转换为 CSS 字符串,以便我可以保存它并在其他地方使用它。
我想将 JSObject 转换为 CSS:
JSObject [示例 - 输入]
JSObject: {
lineHeight: 1,
fontSize: 15,
padding: 0,
margin: 0,
msBoxShadow: '0 0 1px 1px #000',
MozBoxShadow: '0 0 1px 1px #000',
OBoxShadow: '0 0 1px 1px #000',
WebkitBoxShadow: '0 0 1px 1px #000',
boxShadow: '0 0 1px 1px #000'
}
Run Code Online (Sandbox Code Playgroud)
预期的 CSS [示例 - 输出]
.cssClass{
line-height: 1;
font-size: 15px;
padding: 0px;
margin: 0px;
box-shadow: rgb(0, 0, 0) 0px 0px 1px 1px;
}
Run Code Online (Sandbox Code Playgroud)
我为我的问题找到了解决方案并在此处发布以供将来的搜索者使用。
我做了这个简单的函数来将 JS 对象转换为 CSS 字符串:
export const JSToCSS = (JS) => {
let cssString = "";
for (let objectKey in JS) {
cssString += objectKey.replace(/([A-Z])/g, (g) => `-${g[0].toLowerCase()}`) + ": " + JS[objectKey] + ";\n";
}
return cssString;
};
Run Code Online (Sandbox Code Playgroud)