CSS-in-JS

示例

可以使用任何现有的 CSS-in-JS 解决方案。最简单的是内联样式:

function HiThere() {
  return <p style={{ color: 'red' }}>hi there</p>
}

export default HiThere

我们内置了 styled-jsx 以提供对隔离作用域 CSS 的支持。目标是支持类似于 Web 组件的"影子 CSS",但遗憾的是 Web 组件不支持服务端渲染且仅限 JS

其他流行的 CSS-in-JS 解决方案(如 Styled Components)请参阅上述示例。

使用 styled-jsx 的组件如下所示:

function HelloWorld() {
  return (
    <div>
      Hello world
      <p>scoped!</p>
      <style jsx>{`
        p {
          color: blue;
        }
        div {
          background: red;
        }
        @media (max-width: 600px) {
          div {
            background: blue;
          }
        }
      `}</style>
      <style global jsx>{`
        body {
          background: black;
        }
      `}</style>
    </div>
  )
}

export default HelloWorld

更多示例请参阅 styled-jsx 文档

禁用 JavaScript

是的,如果禁用 JavaScript,在生产构建 (next start) 中 CSS 仍会被加载。在开发期间,我们需要启用 JavaScript 以通过 快速刷新 提供最佳开发者体验。

On this page