允许第三方皮肤,如何确保css是可以被覆盖的?
如题,在用wails开发一个基于html的桌面应用,但遇到了样式不易被第三方皮肤覆盖问题
- 项目本身不使用
scoped
与important
问题本质我认为是css权重问题,有好的建议吗?
回复
1个回答

test
2024-07-11
样式选择器层级(权重)尽量浅。
比如说导航样式:.navbar .navbar-nav .nav-link{}
和 .navbar .nav-link{}
。前者就会比后者的权重多,第三方皮肤覆盖的时候也会要求地方皮肤的权重更高,这还是只三层。
当遇到 EleUI
的 <Tabs>
组件的时候就可能会遇到这样的情况:.el-tabs--border-card>.el-tabs__header .el-tabs__item+.el-tabs__item
那么对于想要覆写样式的人来说就会很麻烦了,需要书写一堆多余的选择器。
所以尽量把样式选择器的深度设计比较短。这样就可以避免很多样式因为权重的问题没有办法覆写的情况了。早期写过一篇计算CSS权重的文章可以了解一下权重计算的方式 CSS 选择器权重和优先级
回复

适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容