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。