在同构反应应用程序中添加内联样式

时间:2015-06-04 02:22:46

标签: reactjs inline-styles

是否有任何简单的方法可以将React修补为自动修复样式,以便呈现的HTML在客户端和服务器上不同?

例如,是否可以获得

<div style={{display: 'flex'}}/>

渲染(忽略data-reactid):

<div style="display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;"/>

3 个答案:

答案 0 :(得分:0)

在您发布的特定情况下,您可能必须创建一个传递样式的函数,并创建正确的样式。如果简单的前缀有效,您可以使用react-prefixr之类的内容,只需添加msWebkit等。到风格结构。如果react-prefixr未正确处理display:flex,您可以将其作为PR提交。

答案 1 :(得分:0)

我有同样的问题,想要一种简单的方式来混合风格。所以我创建了一个库,让你可以使用less / sass style mixins https://seogrady.github.io/style-mixin

答案 2 :(得分:0)

我今天刚刚创建了一个简单的前缀工具react-prefixer。这为相关浏览器处理前缀可能性。

我说相关是因为你调出了display:-webkit-box语法,这基本上是Safari 5.1,现在它几乎不存在。此外,它只添加了所需的语法,这意味着您不会看到所显示的完整字符串样式...基于浏览器支持,它将提供前缀版本或规范版本,无需阻塞无用样式的标记。

它还很年轻(我今天早上编了代码),但也许它可以提供帮助。