Javascript 如何将回退样式属性应用于React JS组件?

Javascript 如何将回退样式属性应用于React JS组件?,javascript,css,reactjs,Javascript,Css,Reactjs,我想将回退样式属性应用于组件。例如: var inlineStyle = { display: '-webkit-box', display: '-webkit-flex', display: '-moz-box', display: '-moz-flex', display: '-ms-flexbox', display: 'flex' } return <div style={inlineStyle}>{divContent}<

我想将回退样式属性应用于组件。例如:

var inlineStyle = {
    display: '-webkit-box',
    display: '-webkit-flex',
    display: '-moz-box',
    display: '-moz-flex',
    display: '-ms-flexbox',
    display: 'flex'
}
return <div style={inlineStyle}>{divContent}</div>;
var inlineStyle={
显示:'-webkit框',
显示:'-webkit flex',
显示:'-moz-box',
显示:'-moz-flex',
显示:'-ms flexbox',
显示:“flex”
}
返回{divContent};
有没有办法做到这一点?目前,他们被忽略了。

在React Github页面上有一个问题(),Paul O'Shannessy指出,这在目前是不可能的

你应该:

  • 在指定样式值或之前进行特征/浏览器检测
  • 使用常规CSS

每个声明都超过最后一个声明,因为它们都具有相同的密钥名。当属性需要前缀时,对象文字语法存在问题,即使在今天(2016年9月6日),也没有现成的解决方案

我自己,需要解决这个问题,想留在JS的CSS土地(万岁完全自我包含的组件),而不是添加一个构建步骤,所以做了一个简单的包,称为简单的东西,让你写CSS

npm安装风格it--保存

函数语法()

从“React”导入React;
从“样式it”导入样式;
类简介扩展了React.Component{
render(){
回归风格(`
.柔性容器{
填充:0;
保证金:0;
列表样式:无;
显示:-网络工具包盒;
显示器:-moz盒;
显示:-ms flexbox;
显示:-webkit flex;
显示器:flex;
-webkit flex流:行换行;
证明内容:周围的空间;
}
.flex项目{
背景:番茄;
填充物:5px;
宽度:200px;
高度:150像素;
边缘顶部:10px;
线高:150px;
颜色:白色;
字体大小:粗体;
字号:3em;
文本对齐:居中;
}
`,
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
); } } 导出默认简介;
JSX语法()

从“React”导入React;
从“样式it”导入样式;
类简介扩展了React.Component{
render(){
返回(
{`
.柔性容器{
填充:0;
保证金:0;
列表样式:无;
显示:-网络工具包盒;
显示器:-moz盒;
显示:-ms flexbox;
显示:-webkit flex;
显示器:flex;
-webkit flex流:行换行;
证明内容:周围的空间;
}
.弹性项目{
背景:番茄;
填充物:5px;
宽度:200px;
高度:150像素;
边缘顶部:10px;
线高:150px;
颜色:白色;
字体大小:粗体;
字号:3em;
文本对齐:居中;
}
`}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
} } 导出默认简介;

HTML/CSS摘自Chris Coyier的帖子。

提出这个问题后,出现了数十个JS解决方案中的CSS,其中一些带有供应商前缀。Michele Bertoli在这里列出了一个很好的列表。目前我喜欢Khan Academy的“Aphrodite”