跳到主要內容

CSS-in-JS

範例

可以使用任何現有的 CSS-in-JS 解決方案。最簡單的是內聯樣式

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

我們捆綁了 styled-jsx 以提供對隔離作用域 CSS 的支援。 目的是支援類似於 Web Components 的「shadow CSS」,但不幸的是,Web Components 不支援伺服器端渲染,並且僅限於 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,CSS 仍將在生產環境建置中載入 (next start)。 在開發期間,我們需要啟用 JavaScript 以透過 Fast Refresh 提供最佳的開發人員體驗。