首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将内部Vue应用程序css从网站的其他部分调整范围?

如何将内部Vue应用程序css从网站的其他部分调整范围?
EN

Stack Overflow用户
提问于 2017-10-16 19:05:32
回答 2查看 4.2K关注 0票数 2

我需要创建一个“插件”,其中包含一个用户界面,将显示在许多不同的供应商网站。这是一个CMS不可知论插件。我不能使用iframe的搜索引擎优化的原因。我需要隔离插件的css (可能是js)与其他网站,并阻止其他网站的css进入这个插件。我该怎么做?

更新:

好的,所以我问了一个问题,这个问题对我的设置/技术来说有点过于具体了。问题应该是:如何将html元素与其他文档样式隔离开来?这是answered here

新问题:如何对Vue CSS进行范围调整,使其不向上传播,而是传播到子组件?

例如,我有主Vue组件,其中包括bootstrap.scss,我需要应用到所有子组件,但我不希望它泄漏到主网站。将scoped添加到样式可以向上阻止泄漏,但我希望它也适用于子类。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-10-16 20:45:46

好吧,我想通了。

非常简单,真的,结合this answer来防止父->子继承。我将所有的Vue css限定为#app { /*styles*/ },包括引导导入。例如。

代码语言:javascript
复制
<style type="text/scss" lang="scss">
    #app {
        @import '../node_modules/bootstrap/scss/bootstrap';

        // rest of vue global styles go here.
        // child components may use scoped
    }
</style>

注意:我没有在根vue组件上使用scoped属性。

票数 6
EN

Stack Overflow用户

发布于 2017-10-16 20:12:44

我想这就是你要找的。在.vue文件中,您可以向模板添加样式标记,然后Vue将创建仅适用于应用程序的Shadow样式。在最终产品中,样式通过data-v属性呈现,以防止类名冲突。

https://vue-loader.vuejs.org/en/features/scoped-css.html

(复制自我的编辑答案) of/?st=J8UMA1JQ&sh=c3ebf5b1

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46777409

复制
相关文章

相似问题

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