CSS

支持嵌入样式

Examples

我们绑定 styled-jsx 来生成独立作用域的 CSS. 目标是支持 "shadow CSS",但是 不支持独立模块作用域的 JS.

  1. export default () =>
  2. <div>
  3. Hello world
  4. <p>scoped!</p>
  5. <style jsx>{`
  6. p {
  7. color: blue;
  8. }
  9. div {
  10. background: red;
  11. }
  12. @media (max-width: 600px) {
  13. div {
  14. background: blue;
  15. }
  16. }
  17. `}</style>
  18. <style global jsx>{`
  19. body {
  20. background: black;
  21. }
  22. `}</style>
  23. </div>

想查看更多案例可以点击 styled-jsx documentation查看.

内嵌样式

Examples

有些情况可以使用 CSS 内嵌 JS 写法。如下所示:

  1. export default () => <p style={{ color: 'red' }}>hi there</p>

更复杂的内嵌样式解决方案,特别是服务端渲染的时样式更改。我们可以通过包裹自定义 Document,来添加样式,案例如下:custom <Document>

使用 CSS / Sass / Less / Stylus files

支持用.css, .scss, .less or .styl,需要配置默认文件 next.config.js,具体可查看下面链接