怎么解决嵌入组件的 CSS 与 CSS 框架的效果冲突?

2019-06-26 23:08:43 +08:00
 aleung

前端小白,做一个小工具 web 应用,用了 Bulma CSS 框架,需要在里面嵌入一个现成的 web 组件( Redoc,在线 API 文档工具)。Bulma 的 CSS 影响了 Redoc 的显示效果。

如果能够将两者的 CSS 完全隔离,让 Bulma 的 CSS 不在 Redoc 里生效,那是最理想的。在 stackoverflow 上搜了一轮没有找到解决办法,有说需要把嵌入组件的 CSS 重写,加上 scope,但没见到具体怎么做的介绍。

难道只有使用 iframe 才可以避免 CSS 效果冲突?

2166 次点击
所在节点    程序员
8 条回复
avenger
2019-06-27 02:46:53 +08:00
组件最外层 wrap 一个唯一 id,当命名空间用
guojam
2019-06-27 03:26:36 +08:00
换 web 组件的 class 名吧,统一加前缀
wunonglin
2019-06-27 03:40:28 +08:00
修改 ui 框架变量 ng-md2 和 vuetifyjs 都可以
orancho
2019-06-27 04:00:21 +08:00
CSS Module
Perry
2019-06-27 05:52:42 +08:00
shadow dom ?
areless
2019-06-27 09:40:37 +08:00
PostCSS
kinghly
2019-06-27 10:52:44 +08:00
CSS Module
aleung
2019-06-27 13:33:09 +08:00
@Perry Shadow DOM 貌似就是为了解决这种问题的,昨晚试了一下没成功,从 template clone 到 shadow host 没有东西出来,可能什么地方做错了,要再研究一下。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/577822

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX