CSS-in-JS
既存のCSS-in-JSソリューションはどれでも使用できます。最もシンプルなのはインラインスタイルです。
function HiThere() {
return <p style={{ color: 'red' }}>hi there</p>
}
export default HiThere
分離されたスコープ付きCSSのサポートを提供するためにstyled-jsxをバンドルしています。目標は、残念ながらサーバーレンダリングをサポートしておらず、JS専用であるWeb Componentsと同様の「シャドウCSS」をサポートすることです。
その他の一般的な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は読み込まれます。開発中は、Fast Refreshで最高の開発者エクスペリエンスを提供するために、JavaScriptを有効にする必要があります。
お役に立ちましたか?