CSS2JS

Avatar of Chris Coyier
Chris Coyier

DigitalOcean 为您旅程的每个阶段提供云产品。立即开始使用 $200 免费信用额度!

要在 JSX 中的元素上添加内联样式,您必须使用此对象语法,例如

<div style={{
  fontSize: 16,
  marginBottom: "1rem"
}}>
  Content
</div>

对于我们这些习惯了 CSS 语法的用户来说,这可能看起来有点奇怪,因为它是 font-size(而不是 fontSize),margin-bottom(而不是 marginBottom),以及分号(而不是逗号)。

这不是 JSX(或 React 或其他)的怪异之处——这只是 JavaScript 中样式的本质。如果您想从任何其他 JavaScript 设置 font-size,您必须执行以下操作

div.style.fontSize = "16px";

我说的是,但其他 API确实希望您使用 CSS 语法,例如

window.getComputedStyle(document.body)
  .getPropertyValue("font-size");

还有很多 CSS-in-JS 库,它们要么要求要么可以选择支持以这种对象格式设置样式。我甚至听说,对于那些支持 CSS 格式(通过模板文字)和对象格式(例如 Emotion)的库,有些人更喜欢对象语法而不是 CSS 语法,因为它在周围的 JavaScript 中感觉更自在,并且在执行诸如逻辑或注入变量之类的事情时,它会更简洁。

无论如何,这篇文章的真正原因是我偶然发现的这个小网站,它将 CSS 格式转换为对象格式。 CSS2JS

如果您要转换一大块样式,这绝对很方便。

直接链接 →