css - 即使使用全局运算符,也适用于纤细的组件样式
问题描述
我已经创建了要添加到现有项目中的通用纤细组件。这些组件使用第三方库,这些库使用global
操作符来处理某些样式。当我将组件添加到现有项目时,现有项目的样式会受到子组件的影响。
在上图中,有一个带有 的外部元素* { color: green }
和一个带有 的内部元素* { color: red }
。它按预期工作,内部或外部都没有样式泄漏。
但是,如果我使用:global()
,则该样式也将应用于父组件。我正在使用执行此操作的 UI 库,因此我无法控制它们对global
. 例如,如果我使用库添加材质按钮,则父样式会变得混乱:
我使用了一个简单的示例,实际上可以通过在父组件上重新定义一些 css 样式来解决,但是我有许多组件使用多个第三方组件进行多层嵌套,这些组件试图更改很多全局样式,因此重新定义父组件中的样式将是不切实际的。
有没有办法告诉 svelte 将所有组件样式限定为自身?
ps:在上面的示例图片中,子元素被转换为 web-component。所以global
样式不仅在苗条的应用程序中泄漏,甚至在shadow dom之外泄漏
解决方案
推荐阅读
- c++ - 使用 MinGW 的 gRPC/Protobuf 链接器错误
- php - 为什么 php sleep 在 windows-subsystem-linux 中不起作用?
- go - 如果我想构建可执行文件,是否应该始终从主包的文件夹运行构建?
- javascript - JavaScript - 如何读取和显示网络路径
- vue.js - 在组件中显示 HTML
- image - Vuetify v-img 在 v-col 内对齐
- r - R中的股票收益比较
- python - 如何通过 python sdk 在 Azure 中获取 VM 生成的价值
- angular - 过滤角手风琴过滤器简单数组,值传入输入
- html - 居中浮动:左元素