vue组件样式覆盖

方式一:创建全局style覆盖

项目中的css文件被style-loader处理,最终打包后的文件放在style标签内,放到html中作为一个内部样式表。组件库的样式先于自定义样式引入。

javascript 复制代码
...
// 导入全局样式:在main.js中引入
import './styles/index.scss'
...

方式二:组件内样式隔离

React项目使用的是用的是CSS Module,Vue项目使用Scoped标记。保证样式只在当前文件生效。

原理

html 复制代码
<style scoped>
.myWrapper{
  border: 5px solid black
}
</style>
...
<div class="myWrapper" >
  <Calendar />
</div>
...

编译后添加了属性选择器

html 复制代码
<style>
.myWrapper[data-v-2fc5154c] {
  border: 5px solid black
}
</style>
<div class="myWrapper" data-v-2fc5154c>
  ...
</div>

用法

借助深度作用选择器,可以将>>>写成/deep/或者::v-deep。

react

见:react组件样式覆盖问题_react ts 样式会覆盖吗-CSDN博客

参考文档:如何优雅地覆盖组件库样式?-vue 覆盖组件样式

相关推荐
Lin8666几秒前
Vue 3 + TypeScript 组件类型推断失败问题完整解决方案
前端
coding随想1 分钟前
从零开始:前端开发者的SEO优化入门与实战
前端
前端工作日常3 分钟前
我理解的JSBridge
前端
Au_ust4 分钟前
前端模块化
前端
顺丰同城前端技术团队4 分钟前
还不会用 Charles?最后一遍了啊!
前端
BUG收容所所长5 分钟前
二分查找的「左右为难」:如何优雅地找到数组中元素的首尾位置
前端·javascript·算法
彬师傅5 分钟前
geojson、csv、json 数据加载
前端
用户52709648744905 分钟前
🔥 我与 ESLint 的爱恨纠葛:从"这破玩意儿"到"真香警告"
前端
梨子同志6 分钟前
手动实现 JavaScript 的 call、apply 和 bind 方法
前端·javascript
梨子同志7 分钟前
ES6 let 和 const
前端·javascript