首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Next.js中每页的CSS拆分

Next.js中每页的CSS拆分
EN

Stack Overflow用户
提问于 2019-10-16 00:11:54
回答 2查看 3.2K关注 0票数 3

我需要我的样式表分成许多文件,每个Next.js页面一个。如何实现这个目标?

我尝试使用next-css,只是在每个页面中导入一个css文件。它几乎起作用了。但是,css-file不会在链接导航中加载。Next的作者说它没有实现:https://github.com/zeit/next-plugins/issues/282#issuecomment-523128645

我也尝试过使用styled-jsx。它对我来说有几个问题。它的问题页面上有很多bug。我也没能用这种方法使样式在整个子组件中都可见。

EN

回答 2

Stack Overflow用户

发布于 2020-12-06 03:22:41

您可以导入module.css (import style from 'root/styles/MyStyle.module.css)并使用,如下所示。

这是您的组件:

代码语言:javascript
复制
import style from '../../styles/components/Header.module.css'

export default function Header() {
    return (
        <h1 className={style.header}>
            Hello World
        </h1>
    );
}

这是您的CSS:

代码语言:javascript
复制
.header{
    color: #fff;
    width: 100%;
    height: 80px;
}

请注意,CSS类用作组件className

或者,在react组件中,您可以尝试添加标记<style jsx>{ your_CSS_here }</style>

根据Next文档,每个页面都使用styled-jsx库。但是您仍然可以使用其他CSS-in-JS库,如Styled ComponentsEmotion

Next应用程序还支持使用允许您导入.css.scss文件的sass

有关更多信息,请查看Vercel Docs。我还建议你检查一下Learning area

票数 1
EN

Stack Overflow用户

发布于 2019-10-28 04:29:41

您可以创建单独的css文件,并在需要特定样式的每个组件上导入该组件唯一的css文件。例如,假设您在文件file1.js中有一个组件,然后您可以在文件file1.css中导入特定于此组件的样式,这与使用css file2.css导入另一个文件file2中的样式相同

代码语言:javascript
复制
import './file1.css'; //importing the style specific only for this component
function File1(){
      const [processing, setProcessing] = useState(false)

    return (
        <> </>
    )
}
export default File1

第二个文件也是如此

代码语言:javascript
复制
import './file2.css'; //css file specific to this component 
function File2(){
      const [processing, setProcessing] = useState(false)

    return (
        <> </>
    )
}
export default File2
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58398813

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档