2

是否可以将 css 文件导入单独的布局,以便样式仅应用于一个布局而不影响其他布局?

4

2 回答 2

3

我找到了这个解决方案。

  1. 将“.css”文件重命名为“.scss”。

  2. 在您的布局中添加带有自定义类“my-class”的包装块。

layouts/AuthLayout

<template>
  <div class="auth-layout">
    <section>
      <Nuxt/>
    </section>
  </div>
</template>
  1. 然后添加一个样式部分。这使用 SCSS 功能和 v-deep 指令。

layouts/AuthLayout

<style scoped lang="scss">
 .auth-layout {
   &::v-deep {
    @import '~assets/path/to/style.scss';
    @import '~assets/path/to/custom.scss';
    // ...
  }
 }
</style>
于 2020-08-27T19:54:03.730 回答
1

我希望它对某人有帮助。如果您的样式文件具有.css扩展名,您可以通过这种方式将它们放在static布局head函数或对象中的目录和地址上(我的文件在static/css/main.css目录中)

    return {
      link: [
         //you shouldn't mention ~/static itself
        { rel: 'stylesheet', href: '/css/main.css' }, 
      ],
    };

如果你的文件有.scss扩展名或任何其他预处理器,你可以把它放在assets目录中,因为 webpack 在这个目录上编译文件。

于 2021-01-08T17:34:46.130 回答