gpt4 book ai didi

css - 防止 vuetify 污染全局样式范围

转载 作者:行者123 更新时间:2023-12-04 08:51:41 25 4
gpt4 key购买 nike

我试图将一个 Vue 组件从远程源 (npm) 嵌入到另一个组件中,而不使用 Vue 插件。组件按预期安装,但是,因为嵌入式组件使用 Vuetify,它的样式污染了“父”应用程序的样式以下是一些图片,希望能说明我的意思:
在安装嵌入式组件之前注意根应用程序的主要颜色
Style of Root Application Before Mounting Embedded Component
安装登录(嵌入式)组件后:
Style of Root Application After Mounting Embedded Component
我尝试了提到的策略 here ,在嵌入式组件中使用 less 在块级别导入 vuetify css,但它似乎对我不起作用。
我意识到,最终,我可以通过确保嵌入的主题与根应用程序主题匹配来最终解决这个问题,但我宁愿不必依赖它。如果我的组件是使用 webpack 构建的,为什么我无法将 Vuetify 的 css 应用于该组件?有什么建议?
如有必要,很乐意包含代码

最佳答案

要与 vue.js 一起使用,请安装 postcss-parent-selector

npm i postcss-parent-selector -D
然后在 root 中创建一个 postcss.config.js 文件并添加以下代码
module.exports = {
plugins: [
require("postcss-parent-selector")({
selector: ".mywrapperclass",
}),
],
};

然后在 public/index.html 中为应用添加一个包装元素:
<div class="mywrapperclass">
<div id="app"></div>
</div>
一些链接:
  • https://vue-loader-v14.vuejs.org/en/features/postcss.html
  • https://www.npmjs.com/package/postcss-parent-selector
  • https://github.com/postcss/postcss
  • 关于css - 防止 vuetify 污染全局样式范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64068452/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com